数组-12. 简易连连看(20)
来源:互联网 发布:好用的网络机顶盒 编辑:程序博客网 时间:2024/06/11 20:07
数组-12. 简易连连看(20)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
陈建海(浙江大学)
本题要求实现一个简易连连看游戏模拟程序。
给定一个2Nx2N的方阵网格游戏盘面,每个格子中放置一些符号。这些符号一定是成对出现的,同一个符号可能不止一对。程序读入玩家给出的一对位置(x1, y1)、(x2, y2),判断这两个位置上的符号是否匹配。如果匹配成功,则将两个符号消为“*”并输出消去后的盘面;否则输出“Uh-oh”。若匹配错误达到3次,则输出“Game Over”并结束游戏。或者当全部符号匹配成功,则输出“Congratulations!”,然后结束游戏。
输入格式:
输入在一行中给一个正整数N(<5)。随后2N行,每行2N个大写英文字母(其间以1个空格分隔),表示游戏盘面。盘面之后给出一个正整数K,随后K行,每行按照格式“x1 y1 x2 y2”给出一个玩家的输入。注意格子的行、列编号是从1到2N。
输出格式:
根据玩家的每一步输入,输出相应的结果。输出盘面时注意,每行字符间以1个空格分隔,行末不得有多余空格。
输入样例1:2I T I TY T I AT A T YI K K T111 1 1 34 2 4 33 1 4 22 2 1 23 1 2 44 4 3 12 1 3 43 3 1 44 1 2 32 4 3 21 1 2 2输出样例1:
* T * TY T I AT A T YI K K T* T * TY T I AT A T YI * * TUh-oh* * * TY * I AT A T YI * * TUh-oh* * * TY * I A* A T YI * * ** * * T* * I A* A T *I * * ** * * ** * I A* A * *I * * ** * * ** * * A* A * ** * * *Congratulations!输入样例2:
2I T I TY T I AT A T YI K K T51 1 4 41 1 2 31 1 2 32 2 4 12 2 3 3输出样例2:
Uh-oh* T I TY T * AT A T YI K K TUh-ohUh-ohGame Over
#include <cstdio>#include <iostream>#define MAX 10using namespace std;void print(char ch[MAX][MAX],int N){int sign;for(int i=1;i<=2*N;++i){sign=0;for(int j=1;j<=2*N;++j){printf("%c",ch[i][j]);if(++sign<2*N){printf(" ");}}printf("\n");}}int main(){int N;scanf("%d",&N);char ch[MAX][MAX]={0};for(int i=1;i<=2*N;++i){for(int j=1;j<=2*N;++j){cin >> ch[i][j];//scanf("%c", &ch[i][j]);//用scanf导致空格和换行各种混淆//cin会根据对象类型进行智能赋值,不会把空格换行读入!}}int K;cin >> K;int sum=0;//错误次数int count=0;//消去次数,用次数,否则每次都去判断是否全部消去太费时while(K--){int x1,y1,x2,y2;scanf("%d%d%d%d",&x1,&y1,&x2,&y2);if(ch[x1][y1]==ch[x2][y2]&&ch[x1][y1]!='*'&&ch[x2][y2]!='*'){//一开始忘了消去以后的相等是不算的!ch[x1][y1]=ch[x2][y2]='*';++count;if(count==2*N*N){cout<< "Congratulations!"<<endl;break;}print(ch,N);}else{printf("Uh-oh\n");++sum;}if(sum>=3){cout << "Game Over"<<endl;break;}}return 0;}
0 0
- 数组-12. 简易连连看(20)
- 数组-12. 简易连连看(20)
- 数组-12. 简易连连看(20)
- 数组-12. 简易连连看(20)
- 数组-12. 简易连连看(20)
- 数组-12. 简易连连看
- 5-6 简易连连看 (20分)
- 简易连连看
- 简易连连看
- PAT简易连连看
- java小程序——《连连看(简易版)》
- 连连看
- 连连看.
- 连连看
- 连连看
- 连连看
- 连连看
- 连连看
- VS2010 错误failure during conversion to COFF解决办法
- 开启守护进程daemon
- 推荐系统的常用算法概述
- 推荐系统开源软件列表汇总和点评
- 府谷红枣
- 数组-12. 简易连连看(20)
- Request和Response
- 随机森林特征筛选
- jQuery基础学习笔记(下)
- JS漂浮广告代码
- 抓取网络json数据并存入mongodb(1)
- Physics Experiment poj 3684 弹性碰撞
- JS事件Event元素(兼容IE,Firefox,Chorme)
- 2015微商元年,淘金子平台携手微商新模式