#include <iostream>
#include <cstdio>
#include <string>
int wqx,wqy,wkx,wky,bkx,bky;
using namespace std;
//英语     看博友分析     抄博友程序
int dx[9]={0,0,1,-1,1,1,-1,-1,0};
int dy[9]={1,-1,0,0,1,-1,1,-1,0};
bool check(int x,int y)
{//cout<<"check "<<x<<" "<<y<<endl;bool flag=true;for(int i=0;i<9;i++){int bx=bkx+dx[i];int by=bky+dy[i];//cout<<bx<<" "<<by<<endl;if(bx<1 || bx>8 || by<1 ||by>8){continue;}bool f=false;for(int j=0;j<8;j++)//白王 {int tkx=wkx+dx[j];int tky=wky+dy[j];if(tkx<1 || tkx>8 || tky<1 || tky>8){continue;}if(tkx==bx && tky==by){f=true;}}for(int j=0;j<8;j++)//白后{for(int k=1;;k++){int tqx=x+dx[j]*k;int tqy=y+dy[j]*k;if(tqx<1 || tqx>8 || tqy<1 || tqy>8){break;}if(tqx==wkx && tqy==wky){break;}      if(tqx==bx && tqy==by){f=true;}        } }//cout<<"f "<<f<<endl;if(f==false){flag=false;} }//cout<<"flag "<<flag<<endl;return flag;
}
int main()
{string wq,wk,bk;cin>>wk>>wq>>bk;wqx=wq[0]-'a'+1;wqy=wq[1]-'0';wkx=wk[0]-'a'+1;wky=wk[1]-'0';bkx=bk[0]-'a'+1;bky=bk[1]-'0';int flag=false;int jx=10;int jy=10;for(int i=0;i<8;i++){for(int j=1;;j++){int x=wqx+dx[i]*j;int y=wqy+dy[i]*j;if(x<1||x>8||y<1||y>8){break;}if(x==wkx && y==wky){break;}if(x==bkx && y==bky){break;}if(check(x,y)){flag=true;if(jx>x){jx=x;jy=y;                    }else if(jx==x && jy>y){jx=x;jy=y;                   }}}}if(flag==false){cout<<"no"<<endl;}else{cout<<(char)(jx-1+'a')<<jy<<endl;}return 0;
}

POJ 1647 One-move checkmate G++相关推荐

  1. POJ 2092 Grandpa is Famous G++

    #include <iostream> #include <cstdio> #include <cstring> using namespace std; int ...

  2. POJ 1254 Hansel and Grethel G++ 数学 巧妙

    #include <iostream> #include <cstdio> #include <cmath> #include <iomanip> us ...

  3. 囚徒困境困境_社会困境我们主演的恐怖电影

    囚徒困境困境 My biggest takeaways from the 2020 documentary-drama, and why it finally opened my eyes- 我从20 ...

  4. golang源码分析:调度器chan调度

    golang调度机制chan调度 golang的调度策略中,碰见阻塞chan就会将该chan放入到阻塞的g中,然后再等待该chan被唤醒,这是golang调度器策略的主动调度策略之一,其中还有其他的主 ...

  5. 使用说明 vector_C++核心准则编译边学-F.20 输出结果时应该使用返回值

    F.20: For "out" output values, prefer return values to output parameters(输出结果时更应该使用返回值而不是输 ...

  6. C# 多态(接口、虚方法、抽象类)的理解

    这几天正在做GDI+的一个练习程序,参考了<VC#.NET开发交互式CAD系统>这本书,书中的参考方法创建了许许多多的类和一个接口.开始我还在想接口有啥作用啊?是不是有点多此一举.然后就去 ...

  7. golang var 初始化时机_你应该知道的 Go 调度器知识:Go 核心原理 — 协程调度时机...

    点击上方蓝色"Go语言中文网"关注我们,领全套Go资料,每天学习 Go 语言 本文作者:叶不闻 原文链接:https://juejin.im/post/5dafc241f265da ...

  8. Go netpoller 网络模型之源码全面解析

    作者:allanpan,腾讯 IEG 后台开发工程师 近两万字长文从 Linux 底层 Nonblocking I/O. I/O multiplexing: select/epoll 以及 Go 源码 ...

  9. Purpose of cmove instruction in x86 assembly? | cmove 指令如何避免错误的分支预测带来的开销?

    cmove 指令是用来做什么的?(Purpose of cmove instruction in x86 assembly?) The purpose of cmov is to allow soft ...

最新文章

  1. SFB公开课:TMG/IISARR/Web Application Proxy/发布UC(Lync/SFB)-2-通知
  2. MATLAB实现直方图均衡化与规定化
  3. 题目1203:IP地址
  4. python: line=f.readlines() 后如何消除line中的’\n’
  5. 还说不会深度学习,三招帮你“炼丹”成功
  6. 推荐一个 Vue3 全家桶 + TS+ Vite2 + element-plus 的网站实战项目
  7. PowerDesigner生成数据库刷库脚本
  8. html模拟word目录,word临时文件目录
  9. 解决Debug certificate expired的问题 - 转
  10. zabbix自动发现端口
  11. bzoj 4631: 踩气球(线段树)
  12. 开放、创新、合作,共赢多样性计算新时代
  13. 计算机一级报名照片是几寸的,法考报名照片要求几寸
  14. 费曼纪念日,霍金和蚁人下了一盘的“量子象棋”
  15. MySQL 5.7详细下载安装配置教程
  16. 使用Kotlin+JetPack 从零开发自己的日记App
  17. mybatis插入数据到sqlserver报异常The statement must be executed before any results can be obtained.
  18. 你的硬盘有多快?,教你提升硬盘/NAS读写性能
  19. canvas生成圆形图章(名称紧凑和散开)
  20. C++ 跳跃游戏II

热门文章

  1. STM32驱动3.97寸TFT液晶触摸屏模块
  2. 循环语句—do…while循环
  3. Hadoop服务启动出现Permission denied (publickey,password)
  4. Android 8.1 中Systemui中的常见修改(二)电池的修改
  5. vue3-vite项目语法及遇到的问题
  6. UVA340紫外线灯管
  7. 最新版本 release版本 ceph分布式存储搭建(rook-1.8.6)
  8. [Practical.Vim(2012.9)].Drew.Neil.Tip02 学习摘要
  9. JS之父再谈JS历史(一)
  10. java启动参数xmm_更快的方法来测试xmm / ymm寄存器是否为零?