首先宣告一個 300 個索引的陣列, int data[300] = {0};,而這陣列只是方便紀錄,真正要判斷交換學生使否均衡,則須宣告兩變數來紀錄,int ConfirmCount, NotConfirmCount;, ConfirmCount 變數是紀錄交換學生的總數,NotConfirmCount 變數是紀錄國家欲收學生之缺額。當兩數計算後皆為 0,則交換學生才算均衡。C 語言程式碼如下:
ConfirmCount = 0, NotConfirmCount = 0;
while (n --)
{
scanf("%d %d", &i, &j);
if (data[i] >= 0)
data[i] ++, ConfirmCount ++;
else data[i] ++, NotConfirmCount --;
if (data[j] <= 0)
data[j] --, NotConfirmCount ++;
else data[j] --, ConfirmCount --;
}
if (ConfirmCount == 0 && NotConfirmCount == 0)
printf("YES\n");
else printf("NO\n");
By David.K
p10763題目連結
回ACM題庫目錄
回首頁
沒有留言:
張貼留言