点此看题面 大致题意: 有一个\(1\sim 2^n\)的排列,\(n\le7\),每次交互告诉你有几个位置上的数是正确的,让你在\(1000\)轮以内猜出每个位置上的数. 二分 显然,我们可以通过二分来求解此题. 具体地,我们先把所有位置填满\(1\),然后暴力枚,找到一个位置填上\(2\)使得此时没有一个位置上的数是正确的. 然后接下来,我们枚举\(3\sim2^n\)的每一个数,每次把\(l\sim mid\)这段区间内除不是\(1\)或\(2\)的位置外全填上当前数,然后询问当前对的数的…
Problem Statement This is an interactive task. Snuke has a favorite positive integer, N. You can ask him the following type of question at most 64 times: "Is n your favorite integer?" Identify N. Snuke is twisted, and when asked "Is n your…
既然是在CF上AC的第一道交互题,而且正是这场比赛让我升紫了,所以十分值得纪念. 题目链接:CF原网 题目大意:交互题. 有一个长度为 $n$ 的序列 $a$,保证它从小到大排序后是个等差数列.你不知道这个序列长什么样,但你可以询问: $?\ i$ 表示询问 $a_i$ 的值: $>\ x$ 表示询问序列中是否存在严格大于 $x$ 的数. 你可以问不超过 $60$ 个询问. 现在,你需要求出这个等差数列的首项(也就是 $a$ 中的最小值)和这个等差数列的公差(也就是等差数列中相邻两个数的差).…
D. Searching Rectangles 题目连接: http://codeforces.com/contest/714/problem/D Description Filya just learned new geometry object - rectangle. He is given a field consisting of n × n unit cells. Rows are numbered from bottom to top with integer from 1 to…
题目来源:codeforces1039B Subway Pursuit 题目大意: 在1到n里有一个运动的点,要求找到这个点,每次可以查询一个区间内有没有这个点,每次这个点往左或者往右移动1到k个位置,要求要在4500次查询内找到这个点的位置 输入格式: 一行两个整数n,k 输出格式: 每行输出两个整数l,r表示查询区间 表示蒟蒻一直不知道交互题怎么做......而且看到原题的超长英文内心也是懵逼的......真的是什么都不会...... 最后终于会做了!(假的,其实是抄了题解啊)所以就特来写一…
第一次作交互题,有点不习惯. 由于序列是循环的,我们可以将一半的机会用于判断当前是否是在说谎,另一半的机会用于二分的判断. 对于判断是否实在说谎,用1判断即可.因为不可能有比1还小的数. 本题虽然非常水,却十分有趣. Code: #include<cstring> #include<algorithm> #include<cstdio> #include<iostream> using namespace std; const int maxn = 100;…
交互题就是程序与电脑代码的交互. 比如没有主函数的程序,而spj则给你一段主函,就变成了一个整体函数. 还有一种就是程序和spj之间有互动,这个用到fflush(stdout);这个函数就可以实现交互了 fflush(stdin) 作用:清理标准输入流,把多余的未被保存的数据丢掉 fflush(stdout) 作用:清空输出缓冲区,并把缓冲区内容输出 CF1103B Game with modulo 题意:有一个需要你猜的数a,你每次可以猜两个数,如果x%a>=y%a,则返回x,否则返回y.你最…
题目 CF1153E Serval and Snake 很有意思的一道交互题 做法 我们观察到,每次查询一行,当这一行仅包含一端是返回的答案是奇数 根据这个性质查询每一行每一列,我们大体能知道两端的位置 查询矩阵时也是这个道理(奇数),可以二分行和列从而得出答案 Code #include<bits/stdc++.h> typedef int LL; LL n; LL fir_1,fir_2,sec_1,sec_2; inline LL Check(LL x,LL y,LL _x,LL _y)…
人生第一次交互题ac! 其实比较水 容易发现如果查询的矩阵里面包含一个端点,得到的值是奇数:否则是偶数. 所以只要花2*n次查询每一行和每一列,找出其中查询答案为奇数的行和列,就表示这一行有一个端点. 令cntr表示答案为奇数的行数,cntc表示答案为奇数的列数. 那么cntr只能为0或者2,0就表示两个头在同一行,2就表示两个头在不同的行(我们已经找出这两行了) cntc亦然. 然后cntr与cntc不可能同时为0,因为两个端点不可能既在同一行又在同一列. 所以对于cntr=cntc=2的,我…
D. Game with modulo 交互题(取余(膜)性质) 题意 猜一个点\(a\)可以向机器提问 点对\((x,y)\) 如果\(x\mod(a)>=y\mod(a)\)回答\(x\) 反之回答\(y\) 询问不能超过60下,请你猜出a 思路 \(a\mod(b)<a/2(a>=b)\) 形式化的证明: a的二进制形式是1xxxxxx b的二进制形式是0001xxx \(a=b*k+x\) 设a和b最高位二进制的位数差为\(z\) \(k=1<<(z-1)\) 这时…