Блог пользователя Swayam78

Автор Swayam78, история, 23 месяца назад, По-английски

Here , u just have to take a = c^d ,Then check if it do satisy the condition or not , if it doesn't then cout -1 , else cout a.

Proof: In my solution (283677605) you only ever add a bit to a if exactly one of c and d contains that bit, otherwise you either get a contradiction on the spot, or you don't add the bit and move on

why is that If you add that bit to a then (looking just at that bit) a | b=1 and so 1−c=d . If you don't add that bit, then a & c=0 and so b=d . If neither b=d nor c ^ d=1 holds then you can't construct such a . Note that carrying over never happens throughout the process.

. You can skip the latter cases and check if that value of a works, at the end. This is exactly equivalent to setting a=c ^ d and checking if it works.

283646208

  • Проголосовать: нравится
  • +25
  • Проголосовать: не нравится

»
23 месяца назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

With the help of truth table of all possible combinations for the i pos bit.

»
23 месяца назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

.

»
23 месяца назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

I also want proof of it as I went with most common solution of constructing a bit by bit

»
23 месяца назад, скрыть # |
Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

Dayyum :D I went too brute i guess haha

»
23 месяца назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

wait damn how does this work? also how did you get this idea? just looking at samples or something

»
23 месяца назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

Cool!

Proof: In my solution (283677605) you only ever add a bit to $$$a$$$ if exactly one of $$$c$$$ and $$$d$$$ contains that bit, otherwise you either get a contradiction on the spot, or you don't add the bit and move on

why is that

. You can skip the latter cases and check if that value of $$$a$$$ works, at the end. This is exactly equivalent to setting $$$a=c$$$ ^ $$$d$$$ and checking if it works.

»
23 месяца назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Could someone tell me what's wrong w/ my code? I also just did bit by bit comparisons: 283629286