Codeforces Round #630 (Div. 2) D. Walk on Matrix

思路
其实就是一个构造题
我们考虑位运算&的性质 二进制位上一样 才能有贡献
所以我们可以这样构造

q+k q 0
k q+k k
这样构造的话 题中的图的伪代码的值跑出来就是(q+k)&(q)&(q+k)&(k)=0
那么按照我们选择的话就i是 (q+k)&(k)&(q+k)&(k)=k
这样就满足要求了
其中q为大于k的二次幂即可

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int k;
    cin>>k;
    cout<<2<<" "<<3<<endl;
    cout<<(1<<17)+k<<" "<<(1<<17)<<" "<<0<<endl;
    cout<<k<<" "<<(1<<17)+k<<" "<<k<<endl;
    return 0;
}
全部评论

相关推荐

07-02 18:09
门头沟学院 Java
苍穹外卖和谷粒商城这俩是不是烂大街了,还能做吗?
想去重庆的鸽子在吐槽:你不如把这俩做完自己搞明白再优化点再来问 何必贩卖焦虑
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务