PersonalCorpus 版 (精华区)

1035240 Big Guava ... 466 Accepted 0:00.000
64 2002/08/21 09:26:38.952


char a[10][10],b[10][10],c[10][10],d[10][10];
int n;

void Rotate_a_r90()
{
    int i,j;
    memset(c,0,sizeof(c));
    for (i=0;i<n;i++) for (j=0;j<n;j++) c[j][n-i-1]=a[i][j];
}
void Reflect()
{
    // d--> a
    int i,j;
    for (i=0;i<n;i++) for (j=0;j<n;j++) a[n-i-1][j]=d[i][j];
}

void main()
{

    int i,j,k,t=1;
    char s[30];

    while (scanf("%d\n",&n)==1) {
        printf("Pattern %d was ",t++);
        memset(a,0,sizeof(a));
        memset(b,0,sizeof(b));
        for (i=0;i<n;i++) {
            for (j=0;j<n;j++) scanf("%c",&a[i][j]);
            scanf("%c",&s[0]);
            for (j=0;j<n;j++) scanf("%c",&b[i][j]);
            gets(s);
        }
        memcpy(d,a,sizeof(a));
        if (memcmp(a,b,sizeof(a))==0) {
            printf("preserved.\n");
            continue;
        }
        Rotate_a_r90(); memcpy(a,c,sizeof(a));
        if (memcmp(c,b,sizeof(a))==0) {
            printf("rotated 90 degrees.\n");
            continue;
        }
        Rotate_a_r90(); memcpy(a,c,sizeof(a));
        if (memcmp(c,b,sizeof(a))==0) {
            printf("rotated 180 degrees.\n");
            continue;
        }
        Rotate_a_r90();
        if (memcmp(c,b,sizeof(a))==0) {
            printf("rotated 270 degrees.\n");
            continue;
        }
        Reflect();
        if (memcmp(a,b,sizeof(a))==0) {
            printf("reflected vertically.\n");
            continue;
        }
        Rotate_a_r90(); memcpy(a,c,sizeof(a));
        if (memcmp(c,b,sizeof(a))==0) {
            printf("reflected vertically and rotated 90 degrees.\n");
            continue;
        }
        Rotate_a_r90(); memcpy(a,c,sizeof(a));
        if (memcmp(c,b,sizeof(a))==0) {
            printf("reflected vertically and rotated 180 degrees.\n");
            continue;
        }
        Rotate_a_r90();
        if (memcmp(c,b,sizeof(a))==0) {
            printf("reflected vertically and rotated 270 degrees.\n");
            continue;
        }
        printf("improperly transformed.\n");
    }
}
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.459毫秒