P1205 方块转换

来源:互联网 发布:知轩藏书被攻击 编辑:程序博客网 时间:2024/05/20 18:19

https://www.luogu.org/problem/show?pid=1205

大大大大大大枚举!
通过纸上画图来找各个情况中点与点的对应坐标关系
还需要注意的问题:题目要求序号尽量靠前。

#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<vector>#include<algorithm>#include<map> using namespace std;int n;char a[20][20];char b[20][20];int f[10];int main(){    scanf("%d",&n);    for(int i=1;i<=n;i++)      for(int j=1;j<=n;j++)        cin>>a[i][j];    for(int i=1;i<=n;i++)      for(int j=1;j<=n;j++)        cin>>b[i][j];    int p=0;    for(int i=1;i<=n;i++)     for(int j=1;j<=n;j++){        if(a[i][j]!=b[j][n-i+1]) f[1]=1;        if(a[i][j]!=b[n-i+1][n-j+1]) f[2]=1;        if(a[i][j]!=b[n-j+1][i]) f[3]=1;        if(a[i][j]!=b[i][n-j+1]) f[4]=1;        if((a[i][j]!=b[n-j+1][n-i+1])&&(a[i][j]!=b[n-i+1][n-(n-j+1)+1])&&(a[i][j]!=b[i][n-(n-j+1)+1])) f[5]=1;        if(a[i][j]!=b[i][j]) f[6]=1;    }    for(int i=6;i>=1;i--)    {        if(!f[i])         p=i;    }    if(!p) p=7;    printf("%d",p);    return 0; }
原创粉丝点击