關係
time limit:3000ms,special time limit:7500ms,memory limit:65536kb
total submit users:34,accepted users:29
problem 11312 :no special judgement
problem description
在多年以後,seat26對多年前的事情已經記得不太清楚了,每次看見人,他都覺得這個人與他有關係,我們知道二個人的關係有以下幾種:
1)他們是同乙個班級的。
2)他們是同乙個專業的。
3)他們是同乙個學校的。
4)他們不滿足以上三種關係。
我們知道,當二個人是同乙個班級的,那麼他們也一定是同乙個專業的。當二人是同乙個專業的,那麼他們一定是同乙個學校的。而且當a,b是同一班級的,b,c是同乙個班級的,那麼a,c也是一定是同乙個班級的。當然對於同乙個專業的,同乙個學校的這種傳遞性也是滿足的。
現在seat26通過各種方式知道了一群人的一些關係,但是他想知道這群人之間其他的關係。
input
輸入有多組資料,每組資料第一行有二個正整數n,m,c(2<=n<=100000,1<=m<=100000,1<=c<=10000)n表示n個人,m表示這n個人的m條關係,接下來有m行,每行有三個整數pi,qi,ti,(1<=pi,qi<=n,1<=ti<=4)表示知道pi和qi的關係為ti,當ti=1時,表示他們是同乙個班級的,ti=2時表示他們是同乙個專業的,ti=3時表示他們是同乙個學校的,ti=4表示不知道他們具體的關係,即他們可能是乙個班級,乙個專業或乙個學校的,也有可能都不滿足。
接下來是c行代表c個詢問,每行二個正整數pi,qi(1<=pi,qi<=n)表示詢問pi和qi的關係
最後一行是0,0,0,表示輸入結束且不需要處理。
output
對於每組資料輸出c+1行,第一行輸出 case d: 代表第d組資料
接下來c行,每行包括乙個正整數ti,表示第i個詢問pi和qi的關係,ti表示關係型別與輸入相同。
sample input
4 2 21 2 1
2 3 2
3 11 4
4 3 2
1 2 3
4 3 1
1 4 2
2 31 3
4 2 2
1 2 4
1 2 3
1 23 4
0 0 0
sample output
case 1:24case 2:32
case 3:
34
problem source
湖南師範大學第四屆大學生計算機程式設計競賽
思路:用並查集,每乙個關係用乙個存放,同乙個專業的必然同乙個班級,同乙個班級的必然同乙個學校,同時更新就行,**寫的比較渣
#include #include using namespace std;
#define maxn 100000+10
int p1[maxn],p2[maxn],p3[maxn];
int n,m,c;
void make_set1(int x)
int find_set1(int x)
return p1[x];
}void union_set1(int x,int y)
void make_set2(int x)
int find_set2(int x)
return p2[x];
}void union_set2(int x,int y)
void make_set3(int x)
int find_set3(int x)
return p3[x];
}void union_set3(int x,int y)
int main()
else if(type == 2)
else if(type == 3)
union_set3(a,b);
} cout<<"case "<
湖南省第九屆大學生計算機程式設計大賽題解
題目描述 我想當乙個好老師,所以我決定記住所有學生的名字。可是不久以後我就放棄了,因為學生太多了,根本記不住。但是我不能讓我的學生發現這一點,否則會很沒面子。所以每次要叫學生的名字時,我會引用離他最近的,我認得的學生。比如有10個學生 a d h 想叫每個學生時,具體的叫法是 輸入 輸入只有一組資料...
湖南省第九屆大學生計算機程式設計競賽 高橋和低橋
有個腦筋急轉彎是這樣的 有距離很近的一高一低兩座橋,兩次洪水之後高橋被淹了兩次,低橋卻只被淹了一次,為什麼?答案是 因為低橋太低了,第一次洪水退去之後水位依然在低橋之上,所以不算 淹了兩次 舉例說明 假定高橋和低橋的高度分別是5和2,初始水位為1 第一次洪水 水位提高到6 兩個橋都被淹 退到2 高橋...
湖南省第六屆大學生計算機程式設計競賽 弟弟的作業
題目傳送門 本題雖然是水題,不過很好地訓練了輸入輸出的格式,使用scanf函式進行輸入的時候,我們可以連續使用 d c d s來讀取形如 12 34 423 這樣的式子,最後的結果使用 s是因為可能出現 使用atoi函式就可以將字串轉換為整數。include include include defi...