当前位置:网站首页>ZCMU--1891: kotomi and game(C语言)
ZCMU--1891: kotomi and game(C语言)
2022-08-02 04:20:00 【小小小Why】
Description
kotomi最近有点累,于是想玩个游戏。
kotomi九宫格玩腻了,于是想玩十六宫格。
现在kotomi要画一个'x'使得横或竖或对角线上有3个连续的'x'就获胜。
只能画在'.'上。
Input
输入第一行包含一个整数T(1 <= T <= 10)
接下来包含4*4矩阵,矩阵只包含'x','.','o'.
Output
如果能获胜则输出"yes",否则输出"no"
Sample Input
4
xx..
.oo.
x...
oox.
x.ox
ox..
x.o.
oo.x
x..x
..oo
o...
x.xo
o.x.
o...
.x..
ooxx
Sample Output
yes
no
yes
no
解析:分四种情况,每种情况所画‘ x ’又有三种落点可以满足三子,所以总共十二种判断即可。
#include <stdio.h>
char a[10][10];
int main()
{
int t,i,j,s; //s用来判断是否出现三子
scanf("%d",&t);
while(t--){
s=0;
for(i=1;i<=4;i++){
for(j=1;j<=4;j++) scanf(" %c",&a[i][j]);
}
for(i=1;i<=4;i++){
for(j=1;j<=4;j++){
if(a[i][j]=='.'){
//水平三子
if(a[i][j+1]=='x'&&a[i][j+2]=='x') s=1;
else if(a[i][j-1]=='x'&&a[i][j+1]=='x') s=1;
else if(a[i][j-1]=='x'&&a[i][j-2]=='x') s=1;
//竖直三子
else if(a[i+1][j]=='x'&&a[i+2][j]=='x') s=1;
else if(a[i-1][j]=='x'&&a[i+1][j]=='x') s=1;
else if(a[i-1][j]=='x'&&a[i-2][j]=='x') s=1;
//左上右下方向三子
else if(a[i+1][j+1]=='x'&&a[i+2][j+2]=='x') s=1;
else if(a[i-1][j-1]=='x'&&a[i+1][j+1]=='x') s=1;
else if(a[i-2][j-2]=='x'&&a[i-1][j-1]=='x') s=1;
//左下右上方向三子
else if(a[i+1][j-1]=='x'&&a[i+2][j-2]=='x') s=1;
else if(a[i-1][j+1]=='x'&&a[i+1][j-1]=='x') s=1;
else if(a[i-2][j+2]=='x'&&a[i-1][j+1]=='x') s=1;
}
if(s==1) break; //出现退出即可
}
if(s==1) break;
}
if(s==1) printf("yes\n");
else printf("no\n");
}
return 0;
}边栏推荐
猜你喜欢
随机推荐
Go 语言是如何实现切片扩容的?【slice】
【面试】招聘要求
批量--10---根据set数拆分文件
压缩包密码如何快速删除?
CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!) C题
数学建模学习(76):多目标线性规划模型(理想法、线性加权法、最大最小法),模型敏感性分析
违约金过高”的认定依据
vs2022 编译libmodbus源码
翻转(DAY 97)
我们擅长的地方很多
应用pca和K-means实现用户对物品类别的喜好细分划分
internship:数据库表和建立的实体类及对应的枚举类之间的联系示例
Arduino框架下ESP32重启原因串口信息输出示例
Camtasia 2022简体中文版屏幕录像和视频编辑软件
C语言特殊运算符
力扣 215. 数组中的第K个最大元素
【FreeRTOS】12 任务通知——更省资源的同步方式
PDF文件转换格式
Crawler_crawl wasde monthly supply and demand balance table (example)
抓住那头牛(DAY 96)









