D. Dasha and Chess(交互题)
题目链接:http://codeforces.com/contest/1100/problem/D
题目大意:给你一个999*999的图,然后有666个黑色旗子,一个白色棋子,每一次白色棋子只能在它附近的八个方位行进一步,而黑色棋子可以像象棋里面的车一样行走,然后首先输入白色棋子的方位,然后再给你666个黑色棋子的方位,你先走,然后黑色棋子再走,你走的每一步黑色棋子都能看见,然后问你怎么样才能胜利?胜利的条件是黑色棋子和白色棋子再同一行或者同一列。
具体思路:借鉴了别人的思路,我们可以首先让这个棋子回到(500,500)这个坐标,然后再看一下(1,499)*(1,499),(1,499)*(500,999),(500,999)*(1,499),(500,999)*(500,999)这四块区域中哪一块的的黑色棋子最少,那么我们就以起点(500,500)开始,到达最少的这块区域的对角的那块区域的角。因为我们需要使得白色有最大的可能性获胜,所以我们需要找到线最密集的地方。
注意:在输出的时候,如果是printf("%d %d\n")的话,我们需要在这个地方的下面再加一句fflush(stdout),这是为了清除缓存区的,还有一种方法可以避免这个的出现,就是直接用cout<<x<<" "<<y<<endl;endl能自动刷新缓存区,不需要再手动清除,因为说到底。"\n",就只是个换行。
AC代码:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <ctime>
#include <algorithm>
#include <map>
#include <vector>
#include <queue>
using namespace std;
# define ll long long
# define pi acos(-1.0)
const int maxn = +;
int xx[maxn],yy[maxn];
int Map[maxn][maxn];
int q[];
void cal(int t1,int t2,int x,int y)
{
while(x!=t1||y!=t2)
{
if(y<t2)
y++;
else
y--;
if(x<t1&&Map[x+][y]==)
{
x++,Map[x][y]=;
}
else if(x>t1&&Map[x-][y]==)
{
x--,Map[x][y]=;
}
int num,x1,y1;
cout<<x<<" "<<y<<endl;
// printf("%d %d\n",x,y);
// fflush(stdout);
scanf("%d %d %d",&num,&x1,&y1);
if(num==-)
return ;
Map[xx[num]][yy[num]]=;
xx[num]=x1,yy[num]=y1;
Map[x1][y1]=;
}
}
int main()
{
int x,y;
scanf("%d %d",&x,&y);
for(int i=; i<=; i++)
{
scanf("%d %d",&xx[i],&yy[i]);
Map[xx[i]][yy[i]]=;
}
cal(,,x,y);
for(int i=; i<=; i++)
{
for(int j=; j<=; j++)
{
if(Map[i][j]==)
continue;
if(i<=&&j<=)
q[]++;
else if(i<=&&j>=)
q[]++;
else if(i>=&&j<=)
q[]++;
else
q[]++;
}
}
int maxx=min(q[],min(min(q[],q[]),q[]));
if(maxx==q[])
{
cal(,,,);
}
else if(maxx==q[])
{
cal(,,,);
}
else if(maxx==q[])
{
cal(,,,);
}
else
cal(,,,);
return ;
}
D. Dasha and Chess(交互题)的更多相关文章
- CF1100D Dasha and Chess
题目地址:CF1100D Dasha and Chess 这是我的第一道交互题 思路不难,主要讲讲这条语句: fflush(stdout); stdout是标准输出的意思.因为有时候,我们输出到std ...
- 交互题[CF1103B Game with modulo、CF1019B The hat、CF896B Ithea Plays With Chtholly]
交互题就是程序与电脑代码的交互. 比如没有主函数的程序,而spj则给你一段主函,就变成了一个整体函数. 还有一种就是程序和spj之间有互动,这个用到fflush(stdout);这个函数就可以实现交互 ...
- CF1114E Arithmetic Progression(交互题,二分,随机算法)
既然是在CF上AC的第一道交互题,而且正是这场比赛让我升紫了,所以十分值得纪念. 题目链接:CF原网 题目大意:交互题. 有一个长度为 $n$ 的序列 $a$,保证它从小到大排序后是个等差数列.你不知 ...
- Codeforces 1137D - Cooperative Game - [交互题+思维题]
题目链接:https://codeforces.com/contest/1137/problem/D 题意: 交互题. 给定如下一个有向图: 现在十个人各有一枚棋子(编号 $0 \sim 9$),在不 ...
- Gym - 101375H MaratonIME gets candies 交互题
交互题介绍:https://loj.ac/problem/6 题意:输出Q X ,读入><= 来猜数,小于50步猜出就算过样例 题解:根本不需要每次输出要打cout.flush()... ...
- Codeforces Round #523 (Div. 2) F. Katya and Segments Sets (交互题+思维)
https://codeforces.com/contest/1061/problem/F 题意 假设存在一颗完全k叉树(n<=1e5),允许你进行最多(n*60)次询问,然后输出这棵树的根,每 ...
- Codeforces Round #371 (Div. 2) D. Searching Rectangles 交互题 二分
D. Searching Rectangles 题目连接: http://codeforces.com/contest/714/problem/D Description Filya just lea ...
- 2010-2011 ACM-ICPC, NEERC, Moscow Subregional Contest Problem K. KMC Attacks 交互题 暴力
Problem K. KMC Attacks 题目连接: http://codeforces.com/gym/100714 Description Warrant VI is a remote pla ...
- CF1153E Serval and Snake(交互题)
题目 CF1153E Serval and Snake 很有意思的一道交互题 做法 我们观察到,每次查询一行,当这一行仅包含一端是返回的答案是奇数 根据这个性质查询每一行每一列,我们大体能知道两端的位 ...
- Subway Pursuit (二分)(交互题)
题目来源:codeforces1039B Subway Pursuit 题目大意: 在1到n里有一个运动的点,要求找到这个点,每次可以查询一个区间内有没有这个点,每次这个点往左或者往右移动1到k个位置 ...
随机推荐
- 20181204-4 互评Final版本
此次作业要求参见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2478 互评 一.互评Final版本——杨老师粉丝群<PinBall ...
- Linux内核分析——第一章 Linux内核简介
第一章 Linux内核简介 一.Unix的历史 1.Unix系统成为一个强大.健壮和稳定的操作系统的根本原因: (1)简洁 (2)在Unix中,很多东西都被当做文件对待.这种抽象使对数据和对设备的 ...
- Daily Scrum 10.20
今天进行了团队第一次scrum meeting,在这次会议中,我们针对NABC模型以及开发前期的工作进行了探讨. 第一次会议 主要内容如下: 为了大家接下来几周的开发效率,需要共同商量团队的一些规则 ...
- CodeM Qualifying Match Q2
问题描述: 组委会正在为美团点评CodeM大赛的决赛设计新赛制. 比赛有 n 个人参加(其中 n 为2的幂),每个参赛者根据资格赛和预赛.复赛的成绩,会有不同的积分. 比赛采取锦标赛赛制,分轮次进行, ...
- 在ubuntu下运行python脚本
转自http://www.cnblogs.com/hester/p/5575658.html 1. 运行方式一 新建test.py文件: 1 touch test.py 然后vim test.py打开 ...
- 【Leetcode】378. Kth Smallest Element in a Sorted Matrix
Question: Given a n x n matrix where each of the rows and columns are sorted in ascending order, fin ...
- Spring之AOP实现原理
- 使用AutoMapper实现Dto和Model的自由转换(上)
在实际的软件开发项目中,我们的“业务逻辑”常常需要我们对同样的数据进行各种变换.例如,一个Web应用通过前端收集用户的输入成为Dto,然后将Dto转换成领域模型并持久化到数据库中.另一方面,当用户请求 ...
- bzoj1214 [HNOI2004]FTP服务器
题目挺复杂的. 但有一点好,就是这题没数据,交个空程序就好了. begin end.
- NOIP2017列队(phalanx)解题报告
列队作为NOIP2017最后一道题,其实并不难,只是相对于其它题目,有点小小的工业 首先,这道题我用splay维护的,如果你不会splay,又想学一下splay,可以来这里学一学,接下来步入正题 首先 ...