交互题就是程序与电脑代码的交互。

比如没有主函数的程序,而spj则给你一段主函,就变成了一个整体函数。

还有一种就是程序和spj之间有互动,这个用到fflush(stdout);这个函数就可以实现交互了

fflush(stdin)

  作用:清理标准输入流,把多余的未被保存的数据丢掉

fflush(stdout)

  作用:清空输出缓冲区,并把缓冲区内容输出

CF1103B Game with modulo

题意:有一个需要你猜的数a,你每次可以猜两个数,如果x%a>=y%a,则返回x,否则返回y。你最多可以猜60次。

这很明显是个二分,所以这大概是道交互题练手题

#include<bits/stdc++.h>
using namespace std;
char s[20], s1[20];
int main() {
while ((~scanf("%s", s)) && s[0] == 's') {
int x = 0, y = 1;
while (true) {
printf("? %d %d\n", x, y);
fflush(stdout);
scanf("%s", s1);
if (s1[0] == 'x')
break;
x = y, y = y * 2 + 1;
}
int mid, l = x, r = y;
while (l + 1 < r) {
mid = l + r >> 1;
printf("? %d %d\n", l, mid);
fflush(stdout);
scanf("%s", s1);
if (s1[0] == 'x')
r = mid;
else
l = mid;
}
if (l == 0) {
printf ("! 1\n");
fflush(stdout);
continue;
}
printf("? %d %d\n", r, r + 1);
fflush(stdout);
scanf("%s", s1);
if (s1[0] == 'x')
r --;
printf("! %d\n",r);
fflush(stdout);
}
return 0;
}

CF1019B The hat

又是b题(我就只能做做b题,我太菜了QWQ)

#include <bits/stdc++.h>
using namespace std;
int n, t, r, mid, l;
inline int find (int x) {
printf("? %d\n", x + 1);
fflush(stdout);
scanf("%d", &x);
return x;
}
int main() {
scanf("%d", &n);
t = n / 2;
if (t & 1) {
printf("! -1\n");
return 0;
}
r = n - 1;
while (l < r) {
mid = l + r >> 1;
if (find(mid) - find((mid + t) % n) >= 0)
r = mid;
else
l = mid + 1;
}
printf("! %d", l + 1);
fflush(stdout);
return 0;
}

  

CF896B Ithea Plays With Chtholly

还是B题2333

#include <bits/stdc++.h>
using namespace std;
int a[1005], n, m, c, x;
int main() {
scanf("%d%d%d", &n, &m, &c);
int i;
while(m --) {
scanf("%d", &x);
if(x > c / 2)
for (i = n; a[i] >= x; -- i);
else
for (i = 1; a[i] && a[i] <= x; ++ i);
printf("%d\n", i);
fflush(stdout);
a[i] = x;
for (i = 1; i <= n && a[i]; ++ i);
if (i > n)
break;
}
return 0;
}

  

最新文章

  1. CentOS系统yum源使用报错:Error: Cannot retrieve repository metadata (repomd.xml) for repository: rpmforge.
  2. rt3070 驱动异常问题
  3. 迁移至个人blog
  4. .NET程序的编译和运行
  5. 系统安全扫描工具(appscan)的扫描类型小记
  6. 修复UIImagePickerController偷换StatusBar颜色的问题
  7. php的具体配置学习笔记
  8. CodeForces 152C Pocket Book
  9. Android读取RAM,ROM,SD卡容量
  10. 常用的HTML标签
  11. 使用七牛云存储----大家自己的图床[python]
  12. Monitor vs WaitHandle
  13. 探秘ReSharper8.1版本中Architecture(架构工具)的改进
  14. Unix权限这点事
  15. Java使用线程池
  16. Android JNI中C调用Java方法
  17. linux学习笔记整理(二)
  18. storm集群配置
  19. Ngui Tween 组合动画 group
  20. DB2 sql报错后查证原因与解决问题的方法

热门文章

  1. Android + https 实现 文件上传
  2. 基础环境系列:MySQL8.0.12
  3. Tomcat开启SSL协议支持
  4. 浅谈TCP IP协议栈(一)入门知识【转】
  5. crontab 详细用法 定时任务
  6. ORACLE跨数据库查询的方法
  7. css实现单行(多行)文本溢出显示 ...
  8. npm:Fatal error in , line 0 #unreachable code 解决
  9. Angular5 路由守卫
  10. ksar、sar及相关内核知识点解析