眾所周知,tt 有乙隻魔法貓。
這一天,tt 正在專心致志地玩《貓和老鼠》遊戲,然而比賽還沒開始,聰明的魔法貓便告訴了 tt 比賽的最終結果。tt 非常詫異,不僅詫異於他的小貓咪居然會說話,更詫異於這可愛的小不點為何有如此魔力?
魔法貓告訴 tt,它其實擁有一張遊戲勝負表,上面有 n 個人以及 m 個勝負關係,每個勝負關係為 a b,表示 a 能勝過 b,且勝負關係具有傳遞性。即 a 勝過 b,b 勝過 c,則 a 也能勝過 c。
tt 不相信他的小貓咪什麼比賽都能**,因此他想知道有多少對選手的勝負無法預先得知,你能幫幫他嗎?
輸入輸出說明:input:
第一行給出資料組數。
每組資料第一行給出 n 和 m(n , m <= 500)。
接下來 m 行,每行給出 a b,表示 a 可以勝過 b。
output:
對於每一組資料,判斷有多少場比賽的勝負不能預先得知。注意 (a, b) 與 (b, a) 等價,即每乙個二元組只被計算一次。
樣例
input:
3 3 3
1 21 3
2 33 2
1 22 3
4 21 2
3 4ouput:
0 0
4
此題最容易忽視的一點就是,在計算未知勝負關係的時候,要排除重複的情況,不能倒過來又是乙個未知關係,在條件判斷中加入乙個(i#include
using
namespace std;
intmain()
for(
int k=
1;k<=m;k++
)for
(int i =
1; i <=m; i++)}
int sum =0;
for(
int i =
1; i <=m; i++
)for
(int j =
1; j <= m; j++)if
(p[j]
[i]==
false
&& p[i]
[j]==
false
&&(i < j)
) cout << sum << endl;
}return0;
}
演算法練習week7 leetcode23
題目大意 給出若干已經排好序鍊錶的頭節點指標,將它們合併成乙個成序的鍊錶,返回其頭結點指標。示例 給定鍊錶 1 2 3 和 4 6 8,則應當返回鍊錶 1 2 3 4 6 8的頭節點指標。解題思路 一開始看到這道題,我覺得會比較複雜。因為要排成有序鍊錶需要先逐個比較,再將節點插入對應的位置。後來聯想...
Week7 TT的旅行日記 最短路演算法
題目描述 眾所周知,tt 有乙隻魔法貓。今天他在 b 站上開啟了一次旅行直播,記錄他與魔法貓在喵星旅遊時的奇遇。tt 從家裡出發,準備乘坐貓貓快線前往喵星機場。貓貓快線分為經濟線和商業線兩種,它們的速度與價錢都不同。當然啦,商業線要比經濟線貴,tt 平常只能坐經濟線,但是今天 tt 的魔法貓變出了一...
Week7 TT 的魔法貓 弗洛伊德演算法
題目描述 眾所周知,tt 有乙隻魔法貓。這一天,tt 正在專心致志地玩 貓和老鼠 遊戲,然而比賽還沒開始,聰明的魔法貓便告訴了 tt 比賽的最終結果。tt 非常詫異,不僅詫異於他的小貓咪居然會說話,更詫異於這可愛的小不點為何有如此魔力?魔法貓告訴 tt,它其實擁有一張遊戲勝負表,上面有 n 個人以及...