Advertisement
Dimaush

Untitled

Mar 8th, 2023
1,105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.33 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int resh(int a1, int a2, int b) {
  4.     if (a1 == 0 && a2 == 0 && b == 0) {
  5.         return 15;
  6.     } else if (a1 == 0 && a2 == 0 && b == 1) {
  7.         return 0;
  8.     } else if (a1 == 0 && a2 == 1 && b == 0) {
  9.         return 10;
  10.     } else if (a1 == 0 && a2 == 1 && b == 1) {
  11.         return 5;
  12.     } else if (a1 == 1 && a2 == 0 && b == 0) {
  13.         return 12;
  14.     } else if (a1 == 1 && a2 == 0 && b == 1) {
  15.         return 3;
  16.     } else if (a1 == 1 && a2 == 1 && b == 0) {
  17.         return 9;
  18.     } else if (a1 == 1 && a2 == 1 && b == 1) {
  19.         return 6;
  20.     }
  21.     return 0;
  22. }
  23.  
  24. int main(void) {
  25.     unsigned int k[6], x = 0, y = 0, r[6], step = 1, c;
  26.  
  27.     for (int i = 0; i < 6; i++) {
  28.         scanf("%d", &k[i]);
  29.     }
  30.  
  31.     while (k[0] + k[1] + k[2] + k[3] + k[4] + k[5] > 0) {
  32.         for (int i = 0; i < 6; i++) {
  33.             r[i] = k[i] % 2;
  34.             k[i] /= 2;
  35.         }
  36.  
  37.         c = resh(r[0], r[1], r[4]) & resh(r[2], r[3], r[5]);
  38.  
  39.         if (c >= 8) {
  40.         } else if (c >= 4) {
  41.             y += step;
  42.         } else if (c >= 2) {
  43.             x += step;
  44.         } else if (c >= 1) {
  45.             x += step;
  46.             y += step;
  47.         } else {
  48.             printf("No");
  49.             return 0;
  50.         }
  51.         step *= 2;
  52.  
  53.     }
  54.     printf("Yes\n%u %u", x, y);
  55.     return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement