题目是这样的:

FZU Problem 2230

象棋翻翻棋(暗棋)中双方在4*8的格子中交战,有时候最后会只剩下帅和将。根据暗棋的规则,棋子只能上下左右移动,且相同的级别下,主动移动到地方棋子方将吃掉对方的棋子。将和帅为同一级别。然而胜负在只剩下帅和将的时候已定。


Input

第一行T,表示T组数据。

每组数据共有四行字符串,每行字符串共八个字符

’#’表示空格

’*’表示红方帅

’.’表示黑方将

此时红方先走

每组输入之间没有空行。

Output

每组数据输出一行。若为红方赢输出Red win,否则输出 Black win

Sample Input

1
######.#
#####*##
########
########

Sample Output

Black win

刚开始看的时候可能有点蒙圈,别紧张,把棋子放在不同位置找规律,这道题的重点在于横纵下标的差。

经过尝试,可以得到,将和帅在同一斜线上时,总是黑胜(从图上也能看出点眉目);接下来看其余地方,这里用【x,xx】表示黑方老大的下标,用【y,yy】表示白方老大的下标,x0=abs(x-y),y0=abs(xx-yy),观察尝试可知:

1、x0%2=0&&y0%2==1 时,黑败

2、x0%2=1&&y0%2==0 时,黑败

3、x0%2=0&&y0%2==0 时,黑胜

4、x0%2=1&&y0%2==1 时,黑胜

如此令c=x0+y0,则c是偶数时,黑胜,反之黑败,道理明白了,下面是AC代码

1、用scanf版需要用两个getchar()来吸收回车

#include<cstdio>
#include<cstdlib>
int main()
{
int t,x,y,xx,yy;
char a[4][8];
scanf("%d",&t);
getchar();//吸收回车
while(t--){
for(int i=0;i<4;i++){
for(int j=0;j<8;j++){
scanf("%c",&a[i][j]);
if(a[i][j]=='.'){
x=i;
xx=j;
}
if(a[i][j]=='*'){
y=i;
yy=j;
}
}
getchar();//吸收回车
}
int c=abs(x-y)+abs(xx-yy);
if(c%2==0)
printf("Black win\n");
else printf("Red win\n");
}
return 0;
}

2、cin版不用

#include<cstdio>
#include<cstdlib>
#include<iostream>
using namespace std;
int main()
{
int t,x,y,xx,yy;
char a[4][8];
scanf("%d",&t);
while(t--){
for(int i=0;i<4;i++){
for(int j=0;j<8;j++){
cin>>a[i][j];
if(a[i][j]=='.'){
x=i;
xx=j;
}
if(a[i][j]=='*'){
y=i;
yy=j;
}
}
}
int c=abs(x-y)+abs(xx-yy);
if(c%2==0)
printf("Black win\n");
else printf("Red win\n");
}
return 0;
}

翻翻棋(找规律问题)(FZU Problem 2230)的更多相关文章

  1. FZU OJ:2230 翻翻棋

    Problem 2230 翻翻棋 Accept: 872    Submit: 2132Time Limit: 1000 mSec    Memory Limit : 32768 KB  Proble ...

  2. HDU 4910 Problem about GCD 找规律+大素数判断+分解因子

    Problem about GCD Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  3. SGU 107 987654321 problem【找规律】

    题目链接: http://acm.sgu.ru/problem.php?contest=0&problem=107 题意: 平方后几位为987654321的n位数有多少个 分析: 虽然说是水题 ...

  4. 数学--数论--HDU 1792 A New Change Problem (GCD+打表找规律)

    Problem Description Now given two kinds of coins A and B,which satisfy that GCD(A,B)=1.Here you can ...

  5. A Simple Problem with Integers 循环节 修改 平方 找规律 线段树

    A Simple Problem with Integers 这个题目首先要打表找规律,这个对2018取模最后都会进入一个循环节,这个循环节的打表要用到龟兔赛跑. 龟兔赛跑算法 floyed判环算法 ...

  6. 【找规律】CodeForce #258 Problem A——Game With Sticks

    来源:点击打开链接 非常easy.找规律. 每去掉一个点,点的总数量就减去n+m-1,然后看谁最先减到没有点可减.就能够了. #include <iostream> #include &l ...

  7. ACM_棋棋棋棋棋(规律题)

    棋棋棋棋棋 Time Limit: 2000/1000ms (Java/Others) Problem Description: 在遥远的K次元空间,一年一度的GDUFE-GAME又开始了.每年的GD ...

  8. hdu4952 Number Transformation (找规律)

    2014多校 第八题 1008 2014 Multi-University Training Contest 8 4952 Number Transformation Number Transform ...

  9. CF456B Fedya and Maths 找规律

    http://codeforces.com/contest/456/problem/B CF#260 div2 B Fedya and Maths Codeforces Round #260 B. F ...

随机推荐

  1. CF 1198 A. MP3 模拟+滑动窗口

    A. MP3   题意:给你n个数,一个大小为8*I的容量,保存一个数需要多少容量取决于给定n个数的种类k,用公式 log2 k   计算,如果给定的容量不能保存所有数,选择减少数的种类来降低保存一个 ...

  2. crackme---攻防世界

    首先下载附件之后,查壳 虽然什么也没有发现,但是看一下区段就知道,这个是北斗的壳.所以我们首先载入od开始把壳脱掉 这里面也可以看到pushfd和pushad是北斗壳的特征 这里面我使用是esp定律脱 ...

  3. Linux的几种关机命令

    在linux下一些常用的关机/重启命令有shutdown.halt.reboot.及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各 ...

  4. Linux远程上传文件

    #对拷文件夹 (包括文件夹本身) scp -r /home/slk root@192.168.1.5:/home # 对拷文件并重命名 scp /home/a.txt root@192.168.1.5 ...

  5. loadBeanDefinitions方法源码跟踪(二)

    因为字数超过了限制,所以分成了三篇,承接上篇: https://www.jianshu.com/p/a0cfaedf3fc5 代码过宽,可以shift + 鼠标滚轮 左右滑动查看 3.parseDef ...

  6. C++连接sqlite数据库的坑

    新的第一次用vs2013搞 C++连接sqlite数据库,遇到了很多问题,我也不搞不懂~~~下面写点小体会 首先: 你要先配置好sqlite的环境 参考链接: https://blog.csdn.ne ...

  7. Git 的 4 个阶段的撤销更改

    虽然git诞生距今已有12年之久,网上各种关于git的介绍文章数不胜数,但是依然有很多人(包括我自己在内)对于它的功能不能完全掌握.以下的介绍只是基于我个人对于git的理解,并且可能生编硬造了一些不完 ...

  8. SPI协议解析

    1. SPI物理层 SPI通讯需要使用4条线:3条总线和1条片选 . SPI遵循主从模式,3条总线分别是SCK.MOSI和MISO,片选线为nSS(低电平有效),SPI协议适用于一主多从的工作场景: ...

  9. (转)zookeeper理解

    分布式服务框架 Zookeeper -- 管理分布式环境中的数据 Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题 ...

  10. spring的一些annotation

    通过使用spring的注解可以把一些类通过spring容器管理这些类 @controller 控制器(注入服务) @service 服务(注入dao) @repository dao(实现dao访问) ...