CF#212 Two Semiknights Meet
http://codeforces.com/problemset/problem/362/A
题意:两个棋子同时走田字,问是否能相遇。#没什么卵用。
开始没注意两个棋子同时走,当相差距离为2时,不可能相遇。
思路:两个棋子横坐标相差为4或者相差为0时,才可以相遇。纵坐标同理。
1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<cmath> 5 using namespace std; 6 char map[10][10]; 7 int a[10],b[10]; 8 main() 9 { 10 int t,i,j,k,s,q,w; 11 scanf("%d",&t); 12 while(t--) 13 { 14 k=0;s=0; 15 for(i=0;i<8;i++) 16 scanf("%s",map[i]); 17 for(i=0;i<8;i++) 18 { 19 for(j=0;j<8;j++) 20 { 21 if(map[i][j]=='K') 22 { 23 a[k++]=i; 24 b[s++]=j; 25 } 26 } 27 } 28 q=abs(a[1]-a[0]); 29 w=abs(b[1]-b[0]); 30 if((q==4||q==0)&&(w==4||w==0)) 31 printf("YES\n"); 32 else 33 printf("NO\n"); 34 } 35 }
View Code
DFS代码
注意step%2==0才可能相遇。
1 char maze[10][10]; 2 int a[2],b[2]; 3 int vis[10][10]; 4 int flag; 5 void dfs(int x,int y,int step) 6 { 7 if(x == a[1] && y == b[1]&& step%2 == 0) 8 { 9 flag = 1; 10 return; 11 } 12 if(x < 0 || x >= 8 || y < 0 || y >= 8) 13 return ; 14 if(vis[x][y]) 15 return; 16 vis[x][y] = 1; 17 if(flag) 18 return ; 19 dfs(x - 2,y - 2,step+1); 20 dfs(x - 2,y + 2,step+1); 21 dfs(x + 2,y - 2,step+1); 22 dfs(x + 2,y + 2,step+1); 23 } 24 int main() 25 { 26 //freopen("in.txt","r",stdin); 27 int t; 28 scanf("%d",&t); 29 while(t--) 30 { 31 int id = 0; 32 rep(i,0,8) 33 { 34 scanf("%s",maze[i]); 35 rep(j,0,8) 36 { 37 if(maze[i][j] == 'K') 38 { 39 a[id] = i; 40 b[id] = j; 41 id++; 42 } 43 } 44 } 45 clr(vis); 46 flag = 0; 47 dfs(a[0],b[0],0); 48 if(flag) 49 cout<<"YES"<<endl; 50 else 51 cout<<"NO"<<endl; 52 } 53 return 0; 54 }
View Code
转载于:https://www.cnblogs.com/CrazyBaby/p/5694499.html
CF#212 Two Semiknights Meet相关推荐
- Codeforces Round 212 Div 2 报告(以前没写完,现在也没心情补了,先就这样吧)
A. Two Semiknights Meet 题目大意:有一个8x8的棋盘,上面放有两个骑士,骑士以"田字"的方式走.每个方格都被定义为good或者bad,问骑士能否在good的 ...
- Go语言核心之美 1.4-包和文件
一.Package Go语言中的包(Package)就像其它语言的库(Library)或模块(Module)一样,支持模块化,封装性,可重用性,单独编译等特点.包的源码是由数个.go文件组成,这些文件 ...
- Go语言圣经阅读-第二周
Go语言圣经阅读-第二周 2.4. 赋值 使用赋值语句可以更新一个变量的值,最简单的赋值语句是将要被赋值的变量放在=的左边,新值的表达式放在=的右边. x = 1 // 命名变量的赋值 *p = tr ...
- (CF#257)B. Jzzhu and Sequences
Jzzhu has invented a kind of sequences, they meet the following property: You are given x and y, ple ...
- CF专题(长安大学)
来暂时总结下这几天的CF专题吧-后续还会更新- A - Ichihime and Triangle: Ichihime is the current priestess of the Mahjong ...
- 【CF 149D】Coloring Brackets(dp)
[CF 149D]Coloring Brackets(dp) D. Coloring Brackets time limit per test 2 seconds memory limit per t ...
- 『参考』.net CF组件编程(4)——为自定义组件添加工具箱图标!
前言: 在前三篇的文章中,和大家一起创建了一个用于TCP连接检测的小组件,如果你记不得了,可以通过以下链接去回顾一下: 『参考』.net CF组件编程(1)--基础之后 『参考』.net CF组件编程 ...
- [Ahoi2008]Meet 紧急集合
1787: [Ahoi2008]Meet 紧急集合 Time Limit: 20 Sec Memory Limit: 162 MB http://www.lydsy.com/JudgeOnline/ ...
- 【每日一题】212. 单词搜索 II
212. 单词搜索 II 题目描述: 给定一个 m x n 二维字符网格 board 和一个单词(字符串)列表 words,找出所有同时在二维网格和字典中出现的单词. 单词必须按照字母顺序,通过 相邻 ...
最新文章
- debian预装环境软件的设置
- Linq to SQL Like Operator(转)
- 设计RandomPool结构
- linux+tomcat+apache
- The authenticity of host '0.0.0.0 (0.0.0.0)' can't be established.
- 利用jquery操作ajax,利用jquery对ajax操作,详解原理(附代码)
- python 解析器的常用options
- 怎样为wordpress主题的文章列表添加无插件分页?
- Jmeter BeanShell使用json.jar包处理Json数据
- 高效点的全排列算法---堆算法(跟堆排序没关系)
- 依存可视化︱Dependency Viewer——南京大学自然语言处理研究组
- java复习即基础知识点 思维导图
- mac 未能启动java jar_在Mac上运行.jar
- 中国移动路由器怎么设置虚拟服务器,中国移动宽带无线wifi设置方法【图】
- scipy回归分析_业余时间学数据分析,如何快速上手
- 第一次出书的经验分享
- 大数据技术架构_大数据架构流程图
- 如何提升 B站 等级?
- 时间管理方法分享 - 时间管理四象限法则
- 第六届信息类研究生学术论坛参赛有感
热门文章
- 澳大利亚研究者研制出一种计算机芯片 他们,快讯:几乎看不见的3D打印机器人;西澳大利亚大学的研究人员开发出一种保护生态机器鱼;效率达CPU一万倍的神经形态芯片发布!...
- 【深度学习】谷歌大脑EfficientNet的工作原理解析
- 送大家一份Latex模板呢~!(编译即用)
- python【蓝桥杯vip练习题库】ADV-100第二大整数
- 加快tensorflow模型预测速度
- python实现多进程同时计算_python多进程实现CPU100%使用
- python socket通信 recv 丢包_关于socket网络传输数据的阿里云论坛用户知识和技术交流...
- 如何做网络营销推广浅析网站SEO外链发布的技巧分享!
- 促使网站关键词排名稳定的技巧有哪些?
- 网站内链的6大常见形式你了解多少?