Number Game
来源:互联网 发布:幼儿园大班美工课作品 编辑:程序博客网 时间:2024/05/19 01:31
Number Game
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 102 Accepted Submission(s) : 13
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
有上下两个圆圈,每个圆圈边沿上均匀分布有N个点。上圆和下圆的点用一条竖直的直线连起来。将连续的自然数1到N,这N个数按逆时针方向放到下圆那N个不同的点上。将连续的自然数N+1到2*N,这N个数按逆时针方向放到上圆N个不同的点上。数字1上方的点对应上圆数字为N+1,2上方的数字为N+2,...。右边点:为逆时针方向经过当前点到达的下一个点。同理,左边点为顺时针方向经过当前点到达的下一个点。有三种操作:A x y(保证x,y在同一竖线上),表示将同一竖线上的两个数x,y对调位置;B x y(保证x,y在同一个圆上),表示将圆上的两个数x,y对调位置。Q x,则问你数字为x的这个点的左边那个点、右边那个点、上边或下边那个点上的数字分别是多少?
Input
第一行有一个整数n(0<n<10),表示有n组测试数据,随后每一组测试数据第一行是两个整数2N,M,其中2N表示两个圆上点的总个数(5<2N<10000),M表示操作的的次数(0<M<1000)。随后的M行,每行有三个变量 s x y,或两个变量s x。s表示操作的类型为A、B、Q;x,y为点上的数字。当s为Q时,若x为上圆的点则询问x的左边、右边、下边的点的数字;若x为下圆的点则询问x的左边、右边、上边的点的数字。
Output
对每次询问输出三个点的数字,输出顺序为左边、右边、下边,或左边、右边、上边,数字之间两两有一空格。
Sample Input
112 3A 1 7B 3 5Q 3
Sample Output
4 6 11
这道题目我直接建立了一个数组,输入一个数N,那么1~N/2的就是下面的数,N/2~N的就是上面的数。一开始挨个对应,
然后按照题目要求移动,求值。/
代码:#include<stdio.h>int main(){ int T,m,n,i,j,u,k,leap,j1; int list[10001]; int a,b; char c; scanf("%d",&T); while(T--) { scanf("%d%d%*c",&n,&m); for(i=1;i<=n;i++) {list[i]=i; } list[0]=list[n]; for(i=0;i<m;i++) {scanf("%c",&c);if(c=='A'){scanf("%d%d%*c",&a,&b);for(j=1;j<=n;j++){if(list[j]==a)break;}k=(j+n/2)%n;leap=list[j];list[j]=list[k];list[k]=leap;}else if(c=='B'){scanf("%d%d%*c",&a,&b);for(j=1;j<=n;j++){if(list[j]==a)j1=j;if(list[j]==b)k=j;}leap=list[j1];list[j1]=list[k];list[k]=leap;}else if(c=='Q'){scanf("%d%*c",&a);for(j=1;j<=n;j++){if(list[j]==a)break;}k=j-1;u=j+1;if(j==1||j==n/2+1)k=j+n/2-1;if(j==n/2||j==n)u=j-n/2+1;printf("%d %d %d\n",list[k],list[u],list[(j+n/2)%n]);}}}return 0;}
- Number Game
- Number Game
- Number Game
- The four number game
- ZOJ 1039 Number Game
- POJ 1143 Number Game
- POJ 1143 Number Game
- [院赛]A number game
- ZOJ - 3180 Number Game
- poj1143(Number Game)
- zoj 1039 Number Game
- POJ 1143 Number Game
- poj 1143 Number Game
- zoj 1039 Number Game
- zoj 3180 Number Game
- POJ-1143-Number Game
- toj3071 Number Game
- zoj1039 Number Game
- 将旧笔记本的硬盘DIY成移动硬盘
- 日记之ADO.net之基础不全篇
- VC++访问EXCEL跟WORD
- 数字签名
- 一步一步走进Linux HOOK API(八)
- Number Game
- 回溯算法-》应用
- Debugging on my phone (Eclipse, Android)
- 管道、消息队列、共享内存几种IPC通信,简单的代码
- Google books deal battle heats up 谷歌数字图书馆建
- 蛋疼的英语
- set_new_handler
- 自然语言处理学习篇03——Language Models
- MapX系列-- 使用LayerInfo object 在map中添加栅格图层