2014省赛-G国王的战争
来源:互联网 发布:i7港版网络 编辑:程序博客网 时间:2024/05/22 12:39
G.国王的战争
Time Limit: 1000 MSMemory Limit: 65536 KBTotal Submissions: 81Accepted: 51Description
国际象棋中的国王,可以攻击相邻的8个位置(即上、下、左、右和左上,左下,右上,右下),现在给定一个N * M的棋盘,以及其中放置的K个国王的位置,请问他们是否能够互相攻击。
Input
第一行:N M K——棋盘大小以及放置的国王数量(1<=n, m<=100, 0<=k<=200)
以后K行每行都包含两个值r和c,代表一个国王被放置在第r行第c列(棋盘的行序号从1到N,列序号从1到M)。
Output
如果存在国王可以相互攻击,输出“YES”,否则输出“NO”。
Sample Input
3 3 2
1 1
3 3
1 1
3 3
Sample Output
NO
Source
安徽省2014年“京胜杯”大学生程序设计竞赛
水题
/** * Project Name: 省赛 * File Name: G国王的战争.cpp * Created on: 2015年4月26日 下午2:30:38 * Author: jtahstu * QQ: 1373758426 E-mail:1373758426@qq.com * Copyright (c) 2015, jtahstu , All Rights Reserved. *///Sample Input//3 3 2//1 1//3 3//Sample Output//NO#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>#include<string>#include<cstring>using namespace std;int main() { int a[105][105], n, m, k, x, y; while (cin >> n >> m >> k) { memset(a, 0, sizeof(a)); for (int i = 0; i < k; i++) { cin >> x >> y; a[x][y] = 1; } bool flag = true; for (int i = 1; i <= n; i++) if (flag) for (int j = 1; j <= m; j++) { if (a[i][j] == 1) { if (a[i - 1][j] == 1 || a[i - 1][j - 1] == 1 || a[i - 1][j + 1] == 1 || a[i + 1][j] == 1 || a[i + 1][j + 1] == 1 || a[i + 1][j - 1] == 1 || a[i][j - 1] == 1 || a[i][j + 1] == 1) { flag = false; break; } } } if (!flag) cout << "YES" << endl; else cout << "NO" << endl; } return 0;}
0 0
- 2014省赛-G国王的战争
- G.国王的战争
- 1488: 国王的战争
- 国王的战争
- 《国王的演讲》好片!
- 国王的魔镜
- NYOJ - 国王的魔镜
- 264-国王的魔镜
- 国王的魔镜
- NYOJ264 国王的魔镜
- NYOJ_264国王的魔镜
- 国王的魔镜
- ny吝啬的国王
- 264 国王的魔镜
- nyoj264国王的魔镜
- 1140. 国王的遗产
- 国王的魔镜
- 国王的魔镜
- easyui Datagrid的deleteRow多行删除问题
- Eclipse中,utf-8项目生成javadoc 编码GBK 的不可映射字符
- (结构性模式四)外观模式
- android签名包安装问题解决
- [学习总结][基础篇]Spring(一)
- 2014省赛-G国王的战争
- MATLAB
- [MySQL 生产环境内存报警]Select之后Free -m的used总是会一直不停的增加直到100%
- android bitmap 图片处理
- linux下用setsockopt()来控制recv()与send()的超时
- 友盟三方登录,分享,推送demo
- hdu3065 AC自动机-每个标准串在模式串中出现的次数
- Web API 实战之 授权验证
- 人人对战版五子棋