Anton and Chess(模拟+思维)
http://codeforces.com/group/1EzrFFyOc0/contest/734/problem/D
题意:就是给你一个很大的棋盘,给你一个白棋的位置还有n个黑棋的位置,问你黑棋能否一步就吃掉白棋
给你如下规则
1.‘B‘只能对角线移动,而且不能越过其他黑棋。
2.’R‘只能上下左右移动,而且不能越过其他黑棋。
3.‘Q’既能对角线移动又能左右移动,但是不能越过其他黑棋。
这是看了别人的代码,很长,但只是粘贴复制,再改一下一下就行了;
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<string>
#include<cmath>
#include<set>
#include<vector>
#include<stack>
#include<queue>
#include<map>
using namespace std;
#define ll long long
#define se second
#define fi first
const int INF= 0x3f3f3f3f;
const int N=5e5+; int n,x,y; struct note{
int x;
int y;
char c;
}a[N];
struct note1{
int s;
char q;
}dis[]; int main()
{
cin>>n;
cin>>x>>y; for(int i=;i<=;i++)
dis[i].s=INF<<; for(int i=;i<=n;i++)
{
cin>>a[i].c;
scanf("%d%d",&a[i].x,&a[i].y);
if( a[i].y==y && a[i].x-x> && dis[].s>a[i].x-x ){
dis[].s = a[i].x -x;
dis[].q = a[i].c; //最近的更新为 c
}
else if( a[i].y==y && x-a[i].x> && dis[].s>x-a[i].x ){
dis[].s = x- a[i].x ;
dis[].q = a[i].c; //最近的更新为 c
}
else if( a[i].x==x && a[i].y-y> && dis[].s>a[i].y-y ){
dis[].s = a[i].y -y;
dis[].q = a[i].c; //最近的更新为 c
}
else if( a[i].x==x && y-a[i].y> && dis[].s>y-a[i].y ){
dis[].s = y- a[i].y ;
dis[].q = a[i].c; //最近的更新为 c
}
else if(abs(a[i].x-x)==abs(a[i].y-y) && a[i].x>x &&a[i].y>y &&dis[].s>abs(a[i].x-x))
{
dis[].s =abs(a[i].x-x);
dis[].q = a[i].c;
}
else if(abs(a[i].x-x)==abs(a[i].y-y) && a[i].x<x &&a[i].y>y &&dis[].s>abs(a[i].x-x))
{
dis[].s =abs(a[i].x-x);
dis[].q = a[i].c;
}
else if(abs(a[i].x-x)==abs(a[i].y-y) && a[i].x<x &&a[i].y<y &&dis[].s>abs(a[i].x-x))
{
dis[].s =abs(a[i].x-x);
dis[].q = a[i].c;
}
else if(abs(a[i].x-x)==abs(a[i].y-y) && a[i].x>x &&a[i].y<y &&dis[].s>abs(a[i].x-x))
{
dis[].s =abs(a[i].x-x);
dis[].q = a[i].c;
}
}
int flag=;
for(int i=;i<=;i++)
{
if(dis[i].q=='R'||dis[i].q=='Q') flag=;
}
for(int i=;i<=;i++)
{
if(dis[i].q=='B'||dis[i].q=='Q') flag=;
}
if(flag) cout<<"YES";
else cout<<"NO";
}
Anton and Chess(模拟+思维)的更多相关文章
- Codeforces Round #379 (Div. 2) D. Anton and Chess 模拟
题目链接: http://codeforces.com/contest/734/problem/D D. Anton and Chess time limit per test4 secondsmem ...
- D. Anton and Chess 模拟题 + 读题
http://codeforces.com/contest/734/problem/D 一开始的时候看不懂题目,以为象是中国象棋那样走,然后看不懂样例. 原来是走对角线的,长知识了. 所以我们就知道, ...
- Codeforces Round #379 (Div. 2) D. Anton and Chess 水题
D. Anton and Chess 题目连接: http://codeforces.com/contest/734/problem/D Description Anton likes to play ...
- 模拟+思维 HDOJ 5319 Painter
题目传送门 /* 题意:刷墙,斜45度刷红色或蓝色,相交的成绿色,每次刷的是连续的一段,知道最终结果,问最少刷几次 模拟+思维:模拟能做,网上有更巧妙地做法,只要前一个不是一样的必然要刷一次,保证是最 ...
- Anton and Chess
Anton and Chess time limit per test 4 seconds memory limit per test 256 megabytes input standard inp ...
- Codeforces Round #379 (Div. 2) D. Anton and Chess —— 基础题
题目链接:http://codeforces.com/contest/734/problem/D D. Anton and Chess time limit per test 4 seconds me ...
- Codeforces 734D. Anton and Chess(模拟)
Anton likes to play chess. Also, he likes to do programming. That is why he decided to write the pro ...
- XTUOJ 1176 I Love Military Chess(模拟)
I Love Military Chess Accepted : 45 Submit : 141 Time Limit : 1000 MS Memory Limit : 65536 KB ...
- 【29.89%】【codeforces 734D】Anton and Chess
time limit per test4 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
随机推荐
- python 问题解决:UnicodeEncodeError: 'ascii' codec can't encode character u'\uff08'
第一种方案(90%情况下,大部分帖子都是这个)一般报错到代码都是自己写到代码,代码上添加 import sysreload(sys)sys.setdefaultencoding('utf-8') 第二 ...
- redis相关操作命令
一.相关命令列表: 命令原型 时间复杂度 命令描述 返回值 KEYS pattern O(N) 时间复杂度中的N表示数据库中Key的数量.获取所有匹配pattern参数的Keys.需要说明的是,在我们 ...
- 总结几个最近处理问题中使用http协议的代码
demo1:几个不同的http请求方式总结: ----------------------------------------------------------------------------- ...
- 1、6 登陆 通过name 查到一个对象,如果没有。提示用户名不存在,再将查到的pwd 加传过来的pwd(需要加密)比较
@RequestMapping("/login") public Object login(Student student) { Student s=studentService. ...
- IntelliJ IDEA 联想代码
- 路由器02---PandoraBox配置
1.安装libc 什么是libc,这里贴一个gnu官方的解释 Any Unix-like operating system needs a C library: the library which d ...
- QSqlDatabase
QSqlDatabase 使用静态方法addDatabase来创建一个数据库连接. 如果你的程序中只有一个数据库连接,可以使用如下语句创建连接 QSqlDatabase db = QSqlDatab ...
- Luogu4081 USACO17DEC Standing Out from the Herd(广义后缀自动机)
建出广义SAM,通过parent树对每个节点求出其是否仅被一个子串包含及被哪个包含. 写了无数个sam板子题一点意思都没啊 #include<bits/stdc++.h> using na ...
- 01背包变种 第k解问题 hdu 2639
先说说普通01包的状态问题吧 普通的01背包,在状态转移的过程中为了求出最优解,一定是遍历了所有的情况 然后再求的最优解.那么对于第k最优解问题,我们只需要再加一个维度,用来记录每一个状态k优解的状态 ...
- (二) JPA基础
一.什么是JAP JPA(Java Persistence API)是SUN官方推出的Java持久化规范,它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据.它的出现主要是 ...