2.13学习总结

发布于:2025-02-14 ⋅ 阅读:(77) ⋅ 点赞:(0)

日常刷题单,感觉知识点有些生疏(之前测试总感觉时间不够),通过刷题,对知识点的掌握更加熟练,做题的时间也随之减少,也让我感受到了编程的乐趣。

今天主要刷的是函数与结构体

其中,赦免战俘没有做出来,逮捕失败,决定暂且放他一马,明天再去“追杀”它。

此外还做了一道题:p1205 方块转换。

对这道题分情况讨论,其实不算难,就是有点复杂,纯模拟,模拟了半天(尤其是组合,饶了我好久才解决),把逻辑想通就很简单啦。代码如下

#include <stdio.h>
#include <stdlib.h>
char a[12][12],b[12][12],c[12][12],d[12][12];
int n,i,j;
int hly1()
{
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            c[j][n-i+1]=a[i][j];
        }
    }
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            if(b[i][j]!=c[i][j])
                return 0;
        }
    }
    return 1;
}
int hly2()
{
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            c[n-i+1][n-j+1]=a[i][j];
        }
    }
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            if(b[i][j]!=c[i][j])
                return 0;
        }
    }
    return 1;
}
int hly3()
{
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            c[n-j+1][i]=a[i][j];
        }
    }
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            if(b[i][j]!=c[i][j])
                return 0;
        }
    }
    return 1;
}
int hly4()
{
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            c[i][n-j+1]=a[i][j];
        }
    }
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            if(b[i][j]!=c[i][j])
                return 0;
        }
    }
    return 1;
}
int hly5()
{
    hly4();
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            a[i][j]=c[i][j];
        }
    }
    if(hly1())
        return 1;
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            a[i][j]=c[i][j];
        }
    }
    if(hly2())
        return 1;
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            a[i][j]=c[i][j];
        }
    }
    if(hly3())
        return 1;
        return 0;
}
int hly6()
{
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            if(b[i][j]!=c[i][j])
                return 0;
        }
    }
    return 1;
}
void hly()
{
    if(hly1()){
        printf("1");
        return;
    }
    if(hly2()){
        printf("2");
        return;
    }
    if(hly3()){
        printf("3");
        return;
    }
    if(hly4()){
        printf("4");
        return;
    }
    if(hly5()){
        printf("5");
        return;
    }
    if(hly6()){
        printf("6");
        return;
    }
    printf("7");
}
int main()
{
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            scanf(" %c",&a[i][j]);
            d[i][j]=a[i][j];
        }
    }
    for(i=1;i<=n;i++){
        for(j=1;j<=n;j++){
            scanf(" %c",&b[i][j]);
        }
    }
    hly();
    return 0;
}


网站公告

今日签到

点亮在社区的每一天
去签到