Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int resh(int a1, int a2, int b) {
- if (a1 == 0 && a2 == 0 && b == 0) {
- return 15;
- } else if (a1 == 0 && a2 == 0 && b == 1) {
- return 0;
- } else if (a1 == 0 && a2 == 1 && b == 0) {
- return 10;
- } else if (a1 == 0 && a2 == 1 && b == 1) {
- return 5;
- } else if (a1 == 1 && a2 == 0 && b == 0) {
- return 12;
- } else if (a1 == 1 && a2 == 0 && b == 1) {
- return 3;
- } else if (a1 == 1 && a2 == 1 && b == 0) {
- return 9;
- } else if (a1 == 1 && a2 == 1 && b == 1) {
- return 6;
- }
- return 0;
- }
- int main(void) {
- unsigned int k[6], x = 0, y = 0, r[6], step = 1, c;
- for (int i = 0; i < 6; i++) {
- scanf("%d", &k[i]);
- }
- while (k[0] + k[1] + k[2] + k[3] + k[4] + k[5] > 0) {
- for (int i = 0; i < 6; i++) {
- r[i] = k[i] % 2;
- k[i] /= 2;
- }
- c = resh(r[0], r[1], r[4]) & resh(r[2], r[3], r[5]);
- if (c >= 8) {
- } else if (c >= 4) {
- y += step;
- } else if (c >= 2) {
- x += step;
- } else if (c >= 1) {
- x += step;
- y += step;
- } else {
- printf("No");
- return 0;
- }
- step *= 2;
- }
- printf("Yes\n%u %u", x, y);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement