題目
#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 這個題寫的沒錯,可是總是在乙個測試樣例中超時,可...