HDU1259 ZJUTACM【模擬】

ZJUTACM

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 6425 Accepted Submission(s): 3417

Problem Description
歡迎參加浙江工業大學第四屆程序設計競賽!
但是,請稍等!裁判Joe說了,必須正確回答他的問題,纔可以看到PIPI的氣球MM,KUKU的氣球GG.
Joe手上有7張卡片,每張卡片上有一個大寫字母,分別是Z,J,U,T,A,C,M.現在他開始表演魔術,每次只交換其中的兩張卡片.等表演結束後,請你指出含有字母J的那張卡片.

Input
第一行正整數N(1<=N<=1000)表示其後有N組測試數據.
每組測試數據的第一行整數M(0<=M<=1000)表示M次交換操作;第二行有M對整數<x,y>表示交換自上而下,從1開始編號的第x和第y張卡片.開始的時候,自上而下7張卡片爲ZJUTACM,即J卡片的位置是2.

Output
對於每組測試數據,輸出J卡片的位置.

Sample Input
2
2
1 6 5 3
1
1 2

Sample Output
2
1

Source
浙江工業大學第四屆大學生程序設計競賽

問題鏈接HDU1259 ZJUTACM
問題簡述:(略)
問題分析
    一個模擬題。開始的時候,J的位置爲2。模擬過程中,只要需要模擬與J交換的那些操作,記住目前J所在的位置即可。
    程序中使用變量k,存儲J目前所在的位置。
程序說明:(略)
參考鏈接:(略)
題記:(略)

AC的C++語言程序如下:

/* HDU1259 ZJUTACM */

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, m;
    scanf("%d", &n);
    while(n--) {
        scanf("%d", &m);

        int k = 2;      // ZJUTACM,開始時J的位置爲2
        while(m--) {
            int x, y;
            scanf("%d%d", &x, &y);

            if(x == k) k = y;
            else if(y == k) k = x;
        }

        printf("%d\n", k);
    }

    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章