爬格子呀4-4

今天感觉良好,早早写完,但是貌似代码效率一般-。-
代码如下:

#include<stdio.h>
#include<string.h>

void roll(char *a, char *b, char *c,char *d) {
    char k=*a;
    *a = *d;
    *d = *c;
    *c = *b;
    *b = k;
}

int check(char a[6], char b[6]) {
    for (int i = 0; i < 6; i++) {
        if (a[i] == b[i]) return 0;
    }
    return 1;
}

bool input(char *c) {
    for (int i = 0; i < 6; i++) {
        scanf_s("%c", c[i]);
    }
    return true;
}

int main() {
    char a[6], b[6];
    while (input(a) && input(b)) {
        for (int i = 0; i < 4; i++) {
            roll(&a[1], &a[2], &a[6], &a[5]);
            if (check(a, b)) break;
            else {
                for (int i = 0; i < 4; i++) {
                    roll(&a[1], &a[3], &a[6], &a[4]);
                    if (check(a, b)) break;
                    else {
                        printf("different");
                        return 0;
                    }
                }
            }
        }
        }
    }
    printf("same");
    return 0;
}
posted @ 2017-09-08 00:29  romaLzhih  阅读(108)  评论(0编辑  收藏  举报