Codeforces Round #704 Genius's Gambit 模拟+构造

题意

给你三个数a、b、k。让你构建两个二进制数x和y。要求$x>y$,且$x-y$的二进制里1的个数等于k。

注意x和y里不允许前导零。


题解

算是模拟题吧?全是细节……WA成狗。

注意是不允许前导零。那b--,因为第一位一定都是1。

差值里要有k个1,那么显然可以做到有这样一对$i$,$j$,使得$i<j$且$x_i=1,\ y_i=0, x_j=0, y_j=1$,且其他位置都是一样,要么都是1要么都是0。这样只需要调整i,j就可以凑出k。凑不出来就是No。


代码

Submission #112093913 - Codeforces
Codeforces. Programming competitions and contests, programming community

前面两发WA5是读错题并且写挂了。WA8是基于WA5的代码乱改了下,但是代码整体是在线的那种,就非常复杂……后面改了正经生成好了再往外打印就舒服了……虽然还是WA成狗。

展示评论