首页 > 其他 > 详细

E. XOR Guessing 交互题 Educational Codeforces Round 71 (Rated for Div. 2)

时间:2019-08-25 13:37:40      阅读:90      评论:0      收藏:0      [点我收藏+]

E. XOR Guessing

交互题。

因为这个数最多只有14位 0~13,所以我们可以先处理后面7位,然后再处理后面7位。

因为异或的性质,如果一个数和0异或,那么就等于本身。

所以我们第一次异或1~100 所以 后面从7到13位就都是0,所以结果的后面的7位就可以算出来。

然后同理可以把前面七位找到。

技术分享图片
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <queue>
#include <vector>
#include <iostream>
#include <string>
#include <map>
#define inf 0x3f3f3f3f
#define inf64 0x3f3f3f3f3f3f3f3f
using namespace std;
const int maxn = 3e5 + 10;
typedef long long ll;

int main() {
    ll ans = 0;
    printf("?");
    for (int i = 1; i <= 100; i++)    printf(" %d", i);
    printf("\n");
    fflush(stdout);
    ll num;
    scanf("%lld", &num);
    for(int i=7;i<14;i++) ans += ((num >> i) & 1) << i;
    printf("?");
    for (int i = 1; i <= 100; i++) printf(" %d", i << 7);
    printf("\n");
    fflush(stdout);
    scanf("%lld", &num);
    for (int i = 0; i < 7; i++) ans += ((num >> i) & 1) << i;
    printf("! %lld\n", ans);
    return 0;
}
View Code

 

E. XOR Guessing 交互题 Educational Codeforces Round 71 (Rated for Div. 2)

原文:https://www.cnblogs.com/EchoZQN/p/11407253.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!