[Codeforces Gym100851J] Jump (构造+脑洞)
来源:互联网 发布:3d stroke for mac 编辑:程序博客网 时间:2024/04/28 10:07
Codeforces - Gym100851J (NEERC15 - J)
交互题,有一个隐藏的长度为
N 的 01串S
每次可以询问一个 01串Q ,如果两串有一半相等或者全部相等
将会返回N2 或者N ,否则都返回0
最多可以询问N+500 次,如何得到这个隐藏串S
构造好题!
做法就是先随机构造串,直到返回
实验证明随机下返回
所以期望
然后翻转
那么
如果同时翻转
那么找到所有正确性与
如果返回
如果返回
#pragma comment(linker, "/STACK:102400000,102400000")#include <cstdio>#include <iostream>#include <cstdlib>#include <cstring>#include <algorithm>#include <cmath>#include <cctype>#include <map>#include <set>#include <queue>#include <bitset>#include <string>#include <ctime>using namespace std;typedef pair<int,int> Pii;typedef long long LL;typedef unsigned long long ULL;typedef double DBL;typedef long double LDBL;#define MST(a,b) memset(a,b,sizeof(a))#define CLR(a) MST(a,0)#define SQR(a) ((a)*(a))#define PCUT puts("\n----------")const int maxl=1e3+10;int N;char A[maxl];bool tag[maxl];void rever(int);int main(){ #ifdef LOCAL freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout); #endif srand(time(0)); scanf("%d", &N); int res=0; while(1) { for(int i=0; i<N; i++) A[i] = rand()%2+'0'; A[N]=0; puts(A); fflush(stdout); scanf("%d", &res); if(res==N/2 || res==N) break; } if(res==N/2) { rever(0); for(int i=1; i<N; i++) { rever(i); puts(A); fflush(stdout); scanf("%d", &res); if(res==0) tag[i] = 1; rever(i); } for(int i=1; i<N; i++) if(tag[i]) rever(i); puts(A); fflush(stdout); scanf("%d", &res); if(res!=N) { for(int i=0; i<N; i++) rever(i); puts(A); fflush(stdout); } } return 0;}void rever(int np) {A[np] = (1- (A[np]-'0')) + '0';}
0 0
- [Codeforces Gym100851J] Jump (构造+脑洞)
- nerrc 2015 J.Jump (神构造)
- Gym 100851J Jump(构造)
- codeforces-#468A. 24 Game(构造)
- CodeForces 459C(构造题)
- Codeforces 488 B. Candy Boxes(构造)
- Codeforces 534D - Handshakes(构造,暴力)
- Codeforces 550D Regular Bridge (构造)
- CodeForces 610 C. Harmony Analysis(构造)
- CodeForces 652B z-sort(构造)
- codeforces 432E Square Tiling(构造)
- codeforces 24 Game(数学构造)
- [Codeforces 66D] Game (构造)
- CodeForces 605 B.Lazy Student(构造)
- Codeforces Gym 101142 J. Java2016 (构造)
- CodeForces 550 D.Regular Bridge(构造)
- CodeForces 233 C.Cycles(构造)
- CodeForces 664 C.International Olympiad(构造)
- 开通博客一直没发表过什么
- 译:DMA-API-HOWTO.txt(待完善)
- 磁力计和加速度计初始姿态解算
- JS内存泄漏排查方法(Chrome Profiles)
- 关于 iOS响应者链的问题
- [Codeforces Gym100851J] Jump (构造+脑洞)
- CodeForces 510B B. Fox And Two Dots
- MyBatis传递多个参数,
- tar参数记录
- Android 5.x 权限问题解决方法
- gradle编译很慢解决方法
- Android唤醒屏幕并解锁
- timer定时器时间配置
- sql模糊查询语句