codeforces.com/contest/809/problem/B

只需要找到2个被选中的,首先,注意到将区间二等分时左侧区间为[l,mid],右侧区间为[mid+1,r],dui(mid,mid+1)进行询问,就可以得到这两个区间中哪个最近的离边界最近(如果不存在,距离可理解为无穷远),这样就确保了某一个区间必定存在至少一个被选中的,重复此过程,就一定能找到一个被选中的,设该位置为x。k>=2 所以此位置左侧、右侧中至少有一个有。先对左侧重复该过程,对结果进行和x的询问。因为如果那个位置是被选定的,则结果一定为0<=0,如果符合,直接输出,不然一定在右侧区域,对右侧区域重复该过程即可。

【Accepted】

 #include <iostream>
#include <stdio.h>
#include <cmath>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <queue>
#include <deque>
#include <stack>
#include <string>
#include <bitset>
#include <ctime>
#include<algorithm>
#include<cstring>
using namespace std;
typedef long long ll;
const int maxn=1e5+;
int n,k;
bool query(int x,int y)
{
if(x<=||y>n)
return false;
string res;
cout<<"1 "<<x<<" "<<y<<endl;
cin>>res;
return res=="TAK";
}
int get(int l,int r)
{
if(l>r)
{
return -;
}
while(l<r)
{
int mid=(l+r)>>;
if(query(mid,mid+))
{
r=mid;
}
else
{
l=mid+;
}
}
return l;
}
int main()
{ cin>>n>>k;
int x,y;
x=get(,n);
y=get(,x-);
if(!query(y,x))
{
y=get(x+,n);
}
cout<<"2 "<<x<<" "<<y<<endl;
return ;
}

注意:

get函数和query函数没有if判断,就会出错,比如x为1

而且在左侧找到了y之后要判断是否符合。

不要用while(~scanf()),只读单组;print之后fflush(stdout)否则IDLENESS LIMIT EXCEEDED

最新文章

  1. Redis常用命令(String数据类型)
  2. ASP.NET Core 优雅的在开发环境保存机密(User Secrets)
  3. iOS开发----优秀文章推荐
  4. Codeforces Round #189 (Div. 2) A. Magic Numbers
  5. EnableViewState=“false”不能乱用啊
  6. java--常用类summary(三)
  7. Oracle--存储过程学习进阶
  8. 《摇滚南京》——&quot;人生下来就是孤独&quot;
  9. android ListView中的Item有Button时候点击异常处理
  10. 延迟加载(Lazy Load)
  11. JAVA面试题:69道Spring面试题和答案
  12. gitlab使用入门
  13. swift label不同颜色、不同字体
  14. Spark源码剖析(八):stage划分原理与源码剖析
  15. express入门
  16. HDU-1260.Tickets(简单线性DP)
  17. Java Web开发中的乱码问题
  18. python实现图的遍历(递归和非递归)
  19. VC++中多字节字符集和Unicode之间的互换
  20. 压缩打包介绍/gzip压缩工具/bzip2压缩工具/xz压缩工具

热门文章

  1. WebStorm 10.0.3注册码
  2. 牛人cad二次开发网站(.net)
  3. javaee 第六周作业
  4. 学习Python的一些Tips
  5. Unity Shader-热空气扭曲效果
  6. how to use Hexo
  7. 网新恩普(T 面试)
  8. docker 应用数据的管理
  9. python基础一 day9 函数升阶(2)
  10. 异常:java.lang.NoClassDefFoundError: org/springframework/expression/ParserContext