很简单的模拟,

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

看似很难,无从下手,其实很简单。普通方法就可过。直接上代码了。

#include <stdio.h>
int main()
{
    int n,i,t1,t2;
    scanf("%d",&n);
    while(n--)
    {
        int sum=2;  //直接让sum=2代表卡片2的位置。
        int m;
        scanf("%d",&m);
        for(i=1;i<=m;i++)
        {
            scanf("%d%d",&t1,&t2);
            if(t2==sum)  //  相等的话就交换
                sum=t1;
            else    if(t1==sum)
                sum=t2;  //   同上
        }
        printf("%d\n",sum);  //换完后就得到最后的位置。
    }
}
时间: 2024-10-05 04:50:47

很简单的模拟,的相关文章

WinForm学习 --简单的模拟时钟程序

今天学习GDI+,试着想写一个模拟时钟的小程序,原以为很简单实现:但其实还有些复杂,特别是利用三角函数的那部分,让我四处找资料恶补了一下高中数学才算弄清楚,现在就回顾一下这个程序吧. 程序的目的是要模拟出时钟的效果,那首先就是要画出这个时钟的样子.不考虑美观,一个时钟最简单的组成是一个圆形的表盘,三根直线代表的时针.分针和秒针. <img缺失> 看起来很简单吧,但要怎么样画呢?让我们一步一步来吧: 1.画表盘 Graphics g = this.CreateGraphics(); //创建一个

Java断点续传实现原理很简单

原理解析 在开发当中,"断点续传"这种功能很实用和常见,听上去也是比较有"逼格"的感觉.所以通常我们都有兴趣去研究研究这种功能是如何实现的? 以Java来说,网络上也能找到不少关于实现类似功能的资料.但是呢,大多数都是举个Demo然后贴出源码,真正对其实现原理有详细的说明很少. 于是我们在最初接触的时候,很可能就是直接Crtl + C/V代码,然后捣鼓捣鼓,然而最终也能把效果弄出来.但初学时这样做其实很显然是有好有坏的. 好处在于,源码很多,解释很少:如果我们肯下功

用java调用.net的wcf其实还是很简单的

  前些天和我们的一个邮件服务商对接,双方需要进行一些通讯,对方是java团队,而作为.net团队的我们,只能公布出去的是一个wcf的basicbinding,想不 到问题来了,对方不知道怎么去调用这个basic,可能他们水平有点菜,有点尴尬,不得已我来研究研究,其实只要知道公布的wsdl,对什么语言都是很简单的. 一:案例 为了方便,我也不特意写什么代码了,就用vs里面的wcf服务模板创建一下,详细内容如下: 1 // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码.svc 和配

写你的shell,其实很简单

引语:我本人以前并没有写过shell脚本,也许是因为懒,也许是没有被逼到要去写shell的地步.但是,前段时间,工作需求,要求重新跑几个月的脚本,这些脚本是每天定时进行跑的,而且每天是好几个脚本一起关联跑的.你也许会说,这太简单了,写个循环,然后,让他自己去跑就行了.是的,你可以很顺手的用的编程语言去写循环,如PHP,但是,你知道,这样做其实是改变了代码结构了,鬼知道会导致什么结果呢? 并且,我并不保证里面所有代码的意思,我都懂!那么,问题来了,在不改变原代码的前提下,怎样去循环这几个月的时间呢

Redis入门很简单之二【常见操作命令】

Redis入门很简单之二[常见操作命令] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存 Redis提供了丰富的命令,允许我们连接客户端对其进行直接操作.这里简单介绍一下作为常用的一些命令,包括对字符串.列表.集合.有序集合.哈希表的操作,以及一些其他常用命令. [ 基本操作] 1. 添加记录:通常用于设置字符串(string)类型,或者整数类型:如果key已经存在,则覆盖其对应的值. Shell代码   set name James 2. 获取记录:通过键获取值.

Redis入门很简单之六【Jedis常见操作】

Redis入门很简单之六[Jedis常见操作] 博客分类: NoSQL/Redis/MongoDB redisjedisnosql缓存教程 之前介绍了Jedis的基本操作,连接池的支持,以及和Spring的整合.接下来的内容,继续Jedis的最为常见的操作.主要包括常用的列表(list).集合(set).有序集合(sorted set).哈希表(hash)等数据结构,以及其他特性支持. <一>. 使用list: 可以使用列表模拟队列(queue).堆栈(stack),并且支持双向的操作(L或者

读书笔记:《写给大家看的面向对象设计》,《程序员的职业素养》,《设计模式其实很简单》

按照上次的计划 看了三本书,笔记现在才贴出来. <写给大家看的面向对象设计>: 使用接口开发的作用 规范函数命名,特别在项目人数比较多,在设计时,定了接口命名与参数. 可以把前台与后台的脱离.定义接口后,实现接口并返回模拟的数据,例如DataTable等,前台不需等后台就可以做UI与交互,改善UI与需要的数据,发现问题并不断完善接口.后台按照需求把数据库设计好了(如果是领域驱动开发,是Model创建),按照这个接口来开发功能,完成之后前台切换过来即可.前后台是并行开发. 便于单元测试的编写,其

自定义控件其实很简单7/12

尊重原创转载请注明:From AigeStudio(http://blog.csdn.net/aigestudio)Power by Aige 侵权必究! 炮兵镇楼 要在数量上统计中国菜的品种,在地域上毫无争议地划分菜系,在今天,是一件几乎不可能完成的事--Cut----抱歉--忘吃药了,再来一遍.如果非要对自定义控件的流程进行一个简单的划分,我会尝试将其分为三大部分:控件的绘制.控件的测量和控件的交互行为.前面我们用了六节的篇幅和一个翻页的例子来对控件的绘制有了一个全新的认识但是我们所做出的所

---------很简单的 一道 堆栈问题-------

1098: 括号配对问题 时间限制: 1 Sec 内存限制: 128 MB 提交: 9 解决: 5 [提交][状态][讨论版] 题目描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组.数据保证S中只含有"[","]","(",")&quo