演算法每日一題 08 08

2021-10-08 22:32:46 字數 991 閱讀 5442

題目

#include

using

namespace std;

#define maxn 200010

int ton[maxn]

,in[maxn]

;//存拓撲序和入度

struct node

;int n,m;

queue<

int>q;

vectorask;

//存無向邊

vectorans;

//存結果

vector<

int>e[maxn]

;//存邊

bool

topsort()

//拓撲排序

}return num == n;

//判圖是否成環

}int

main()

);//ans裡面儲存的是有向邊 }if

(s ==0)

ask.

push_back

((node));

//ask裡面儲存的是無向邊 }if

(!topsort()

)for

(int i =

0;i < ask.

size()

; i++))

;else

ans.

push_back

((node));

}puts

("yes");

//因為題目中說一定可以構成乙個有向圖,因此,只要沒有環就一定有有向圖

for(

int i =

0;isize()

;i++

) cout << ans[i]

.x <<

" "<< ans[i]

.y << endl;

}return0;

}

這個題我不會,**參考自傳送門

演算法每日一題 07 31

魔術索引。在陣列a 0 n 1 中,有所謂的魔術索引,滿足條件a i i。給定乙個有序整數陣列,編寫一種方法找出魔術索引,若有的話,在陣列a中找出乙個魔術索引,如果沒有,則返回 1。若有多個魔術索引,返回索引值最小的乙個。示例1 輸入 nums 0,2,3,4,5 輸出 0 說明 0下標的元素為0 ...

演算法每日一題 08 03

給定兩個字串形式的非負整數 num1 和num2 計算它們的和。注意 num1 和num2 的長度都小於 5100.num1 和num2 都只包含數字 0 9.num1 和num2 都不包含任何前導零。你不能使用任何內建 biginteger 庫,也不能直接將輸入的字串轉換為整數形式。class s...

演算法每日一題 08 19

題目鏈結 乍一看以為要排序,竟然是個思維題。include using namespace std 將和盡量變大,這樣才能盡可能的短 int main if flag true cout 1 endl else cout n endl return0 這個題寫的沒錯,可是總是在乙個測試樣例中超時,可...