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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章