POJ 1647 One-move checkmate G++
#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++相关推荐
- POJ 2092 Grandpa is Famous G++
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int ...
- POJ 1254 Hansel and Grethel G++ 数学 巧妙
#include <iostream> #include <cstdio> #include <cmath> #include <iomanip> us ...
- 囚徒困境困境_社会困境我们主演的恐怖电影
囚徒困境困境 My biggest takeaways from the 2020 documentary-drama, and why it finally opened my eyes- 我从20 ...
- golang源码分析:调度器chan调度
golang调度机制chan调度 golang的调度策略中,碰见阻塞chan就会将该chan放入到阻塞的g中,然后再等待该chan被唤醒,这是golang调度器策略的主动调度策略之一,其中还有其他的主 ...
- 使用说明 vector_C++核心准则编译边学-F.20 输出结果时应该使用返回值
F.20: For "out" output values, prefer return values to output parameters(输出结果时更应该使用返回值而不是输 ...
- C# 多态(接口、虚方法、抽象类)的理解
这几天正在做GDI+的一个练习程序,参考了<VC#.NET开发交互式CAD系统>这本书,书中的参考方法创建了许许多多的类和一个接口.开始我还在想接口有啥作用啊?是不是有点多此一举.然后就去 ...
- golang var 初始化时机_你应该知道的 Go 调度器知识:Go 核心原理 — 协程调度时机...
点击上方蓝色"Go语言中文网"关注我们,领全套Go资料,每天学习 Go 语言 本文作者:叶不闻 原文链接:https://juejin.im/post/5dafc241f265da ...
- Go netpoller 网络模型之源码全面解析
作者:allanpan,腾讯 IEG 后台开发工程师 近两万字长文从 Linux 底层 Nonblocking I/O. I/O multiplexing: select/epoll 以及 Go 源码 ...
- Purpose of cmove instruction in x86 assembly? | cmove 指令如何避免错误的分支预测带来的开销?
cmove 指令是用来做什么的?(Purpose of cmove instruction in x86 assembly?) The purpose of cmov is to allow soft ...
最新文章
- SFB公开课:TMG/IISARR/Web Application Proxy/发布UC(Lync/SFB)-2-通知
- MATLAB实现直方图均衡化与规定化
- 题目1203:IP地址
- python: line=f.readlines() 后如何消除line中的’\n’
- 还说不会深度学习,三招帮你“炼丹”成功
- 推荐一个 Vue3 全家桶 + TS+ Vite2 + element-plus 的网站实战项目
- PowerDesigner生成数据库刷库脚本
- html模拟word目录,word临时文件目录
- 解决Debug certificate expired的问题 - 转
- zabbix自动发现端口
- bzoj 4631: 踩气球(线段树)
- 开放、创新、合作,共赢多样性计算新时代
- 计算机一级报名照片是几寸的,法考报名照片要求几寸
- 费曼纪念日,霍金和蚁人下了一盘的“量子象棋”
- MySQL 5.7详细下载安装配置教程
- 使用Kotlin+JetPack 从零开发自己的日记App
- mybatis插入数据到sqlserver报异常The statement must be executed before any results can be obtained.
- 你的硬盘有多快?,教你提升硬盘/NAS读写性能
- canvas生成圆形图章(名称紧凑和散开)
- C++ 跳跃游戏II
热门文章
- STM32驱动3.97寸TFT液晶触摸屏模块
- 循环语句—do…while循环
- Hadoop服务启动出现Permission denied (publickey,password)
- Android 8.1 中Systemui中的常见修改(二)电池的修改
- vue3-vite项目语法及遇到的问题
- UVA340紫外线灯管
- 最新版本 release版本 ceph分布式存储搭建(rook-1.8.6)
- [Practical.Vim(2012.9)].Drew.Neil.Tip02 学习摘要
- JS之父再谈JS历史(一)
- java启动参数xmm_更快的方法来测试xmm / ymm寄存器是否为零?