Glad to see you!

题解:

交互题一般都是需要用二分去完成。

在二分时候每次检查左边和右边哪边会和答案更近, 然后在更近的那段新区间去重复检查, 知道区间长度为1。

在检查的时候,可以使得答案更近贴近于左边,或者右边。

代码:

#include<bits/stdc++.h>
using namespace std;
#define Fopen freopen("_in.txt","r",stdin); freopen("_out.txt","w",stdout);
#define LL long long
#define ULL unsigned LL
#define fi first
#define se second
#define pb push_back
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define lch(x) tr[x].son[0]
#define rch(x) tr[x].son[1]
#define max3(a,b,c) max(a,max(b,c))
#define min3(a,b,c) min(a,min(b,c))
typedef pair<int,int> pll;
const int inf = 0x3f3f3f3f;
const int _inf = 0xc0c0c0c0;
const LL INF = 0x3f3f3f3f3f3f3f3f;
const LL _INF = 0xc0c0c0c0c0c0c0c0;
const LL mod = (int)1e9+;
const int N = 2e5 + ;
char s[N];
int solve(int l, int r){
while(l != r){
int mid1 = l+r >> ;
int mid2 = mid1 + ;
printf("1 %d %d\n", mid2, mid1);
fflush(stdout);
scanf("%s", s);
if(s[] == 'T') l = mid2;
else r = mid1;
}
return l;
}
int solve2(int l, int r){
while(l != r){
int mid1 = l+r >> ;
int mid2 = mid1+;
if((l+r)% == ){
mid1--;
mid2--;
}
printf("1 %d %d\n", mid1, mid2);
fflush(stdout);
scanf("%s", s);
if(s[] == 'T') r = mid1;
else l = mid2;
}
return l;
}
int main(){
int n, k;
scanf("%d%d", &n, &k);
int p1 = solve(, n);
int p2 = solve2(, p1);
int p3 = solve(p1, n);
int a[] = {p1, p2, p3};
sort(a, a+);
printf("2 %d %d\n", a[], a[]);
fflush(stdout);
return ;
}

最新文章

  1. php设计模式 装饰器模式
  2. GDB 调试遇到??的问题
  3. 新增资产时YTD折旧与累计折旧录入错误如何处理
  4. Java总结(一):封装——Encapsulation
  5. 返回页面,主页面不刷新window.history.go(-1),主页面刷新window.location.go(-1)
  6. LVM的添加与删除
  7. 《ArcGIS Engine+C#实例开发教程》第一讲桌面GIS应用程序框架的建立
  8. Android NDK 下载
  9. HDU 3265 Posters
  10. Hadoop2.0 HA集群搭建步骤
  11. 大话命令之--ss
  12. git只添加指定类型的文件的.gitignore规则
  13. Ubuntu 11.04 NFS 配置
  14. maven常见问题处理(3-4)配置代理服务器
  15. Eclipse常见设置
  16. p1184高手之在一起
  17. 【C++ 继承与派生/知识梳理】
  18. [PHP] 算法-合并两个有序链表为一个有序链表的PHP实现
  19. 20165305 苏振龙《Java程序设计》第七周学习总结
  20. hive命令的3种调用方式

热门文章

  1. 【Android】Android sdk content loader 0%
  2. 在线图片base64编码
  3. Hadoop 系列(一)—— 分布式文件系统 HDFS
  4. Altium Designer16绘制51单片机的一些经验总结
  5. JS构建多端应用
  6. 微信JSSDK签名
  7. SpringBoot第二天
  8. Unbutu在VMWare中挂载共享文件夹
  9. 浅谈微服务架构与服务治理的Eureka和Dubbo
  10. 为什么说java是只有值传递?