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个位置 ...
随机推荐
- Daily Scrum NO.4
工作概况 符美潇(PM) 昨日完成的工作 1.Daily Scrum.日常会议及日常工作的分配和查收. 2.解决并录入了一个严重的过滤器BUG,该BUG会导致获取子链接的严重异常. 3.在TFS上进行 ...
- Linux内核分析——第三周学习笔记
20135313吴子怡.北京电子科技学院 chapter1 知识点梳理 一.Linux内核源代码简介 (视频中对目录下的文件进行了简介,记录如下) arch目录 占有相当庞大的空间 arch/x86目 ...
- 2013337朱荟潼 Linux第一章读书笔记——Linux内核简介
一.Unix历史 二.Linux足迹 类Linux系统.非商业化产品.用途广泛 三.操作系统和Linux内核简介 1.操作系统 (1)是指在整个最基本功能系统中负责完成最基本功能和系统管理的部分. ( ...
- 该帐户当前被锁定,所以用户 'sa' 登录失败。系统管理员无法将该帐户解锁。
用WINDOWS账户登录查询分析器,输入一下语句并执行: ALTER LOGIN sa ENABLE ; GO ALTER LOGIN sa WITH PASSWORD = '你的新密码' unloc ...
- 开源通用爬虫框架YayCrawler-运行与调试
本节我将向大家介绍如何运行与调试YayCrawler.该框架是采用SpringBoot开发的,所以可以通过java –jar xxxx.jar的方式运行,也可以部署在tomcat等容器中运行. 首先 ...
- PAT 甲级 1029 Median
https://pintia.cn/problem-sets/994805342720868352/problems/994805466364755968 Given an increasing se ...
- [转帖]VMware Vsphere 6.0安装部署 (一) 总体部署架构
(一)总体部署架构本教程用于学习目的,力求详尽的介绍安装部署过程和各组件之间的关系,部署过程从最简单的模型开始,系列文章按时间顺序依次展开,每篇介绍一个组件. 开始阶段,按照一台物理服务器,部署所有V ...
- SSR & Next.js & Nuxt.js
SSR & Next.js & Nuxt.js Server Side Rendering https://nextjs.org/ https://nuxtjs.org/ SSR &a ...
- python自动化之爬虫模拟登录
http://selenium-python.readthedocs.io/locating-elements.html ####################################### ...
- BZOJ4589 Hard Nim(博弈+FWT)
即使n个数的异或为0.如果只有两堆,将质数筛出来设为1,做一个异或卷积即可.显然这个东西满足结合律,多堆时直接快速幂.可以在点值表示下进行. #include<iostream> #inc ...