湖南師範大學第四屆大學生計算機程式設計競賽練習

2021-06-14 23:36:26 字數 2266 閱讀 2574

關係

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 2

1 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:24

case 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...