当前位置:网站首页>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;
}边栏推荐
猜你喜欢

Arduino框架下ESP32重启原因串口信息输出示例

redis基础入门

Visual SLAM Lecture Fourteen - Lecture 13 Practice: Designing a SLAM system (the most detailed code debugging and running steps)

从头开始实现YOLOV3

LeetCode 23: 合并K个升序链表

AFMG SysTune1.3.7使用图解

2022 Huawei Software Elite Challenge (Preliminary) - Summary

如何评价最近爆红的FastAPI?

Platts Analysis-MATLAB Toolbox Function

安装部署 Kubernetes 仪表板(Dashboard)
随机推荐
力扣 215. 数组中的第K个最大元素
找倍数(DAY 98)
Minecraft 1.18.1, 1.18.2 module development 23.3D animation armor production
CODESYS指针型变量编程应用(配方)
论文速读:Homography Loss for Monocular 3D Object Detection
internship:数据库表和建立的实体类及对应的枚举类之间的联系示例
捷信将ESG理念注入企业DNA致力于提供“负责任的消费金融服务”
力扣练习——43 路径总和
HyperLynx中层叠设计实例
违约金过高”的认定依据
压缩包密码如何快速删除?
从事功能测试1年,裸辞1个月,找不到工作的“我”怎么办?
复制延迟案例(4)-一致前缀读
爬虫_爬取wasde月度供需平衡表(实例)
Line generation 005
我们擅长的地方很多
力扣练习——39 正方形数组的数目
C语言:结构体总结
ADSP21489仿真:Failed to set breakpoint: Can‘t set breakpoints in the current state: Running
其他重要协议(DNS,ICMP,NAT,交换机)