⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usaco_transform.cpp

📁 usaco自己做的1到5章的代码
💻 CPP
字号:
/*
ID:wangyuc2
PROG:transform
LANG:C++
*/
#include <iostream>
#include <fstream>
using namespace std;
char data1[11][11],data2[11][11],data3[11][11],data4[11][11],data5[11][11];
bool check(char aa[11][11],char bb[11][11],int nn);
void zhuanhuan1(char cc[11][11],int nn);
void zhuanhuan2(char cc[11][11],int nn);
void zhuanhuan3(char cc[11][11],int nn);
void zhuanhuan4(char cc[11][11],int nn);
int main()
{
    ifstream fin ("transform.in");
    ofstream fout ("transform.out");
    int i,j,n;
    fin >> n;
    for (i=1;i<=n;i++) for (j=1;j<=n;j++) fin >> data1[i][j];
    for (i=1;i<=n;i++) for (j=1;j<=n;j++) fin >> data2[i][j];
    zhuanhuan1(data3,n);
    if (check(data2,data3,n)) fout << '1' << endl;
    else
    {
        zhuanhuan2(data3,n);
        if (check(data2,data3,n)) fout << '2' << endl;
        else
        {
            zhuanhuan3(data3,n);
            if (check(data2,data3,n)) fout << '3' << endl;
            else
            {
                zhuanhuan4(data3,n);
                if (check(data2,data3,n)) fout << '4' << endl;
                else
                {
                    zhuanhuan4(data4,n);
                    for (i=1;i<=n;i++) for (j=1;j<=n;j++) data5[i][j]=data1[i][j];
                    for (i=1;i<=n;i++) for (j=1;j<=n;j++) data1[i][j]=data4[i][j];
                    zhuanhuan1(data3,n);
                    if (check(data2,data3,n)) fout << '5' << endl;
                    else
                    {
                        zhuanhuan2(data3,n);
                        if (check(data2,data3,n)) fout << '5' << endl;
                        else
                        {
                            zhuanhuan3(data3,n);
                            if (check(data2,data3,n)) fout << '5' << endl;
                            else if (check(data2,data5,n)) fout << '6' << endl;
                            else fout << '7' << endl;
                        }
                    }
                }
            }
        }
    }
    fin.close();
    fout.close();
    return 0;
}
bool check(char aa[11][11],char bb[11][11],int nn)
{
    int ii,jj;
    for (ii=1;ii<=nn;ii++) for (jj=1;jj<=nn;jj++) if (aa[ii][jj]!=bb[ii][jj]) return false;
    return true;
}
void zhuanhuan1(char cc[11][11],int nn)
{
    int ii,jj;
    for (ii=1;ii<=nn;ii++) for (jj=1;jj<=nn;jj++) cc[jj][nn+1-ii]=data1[ii][jj];
}
void zhuanhuan2(char cc[11][11],int nn)
{
    int ii,jj;
    for (ii=1;ii<=nn;ii++) for (jj=1;jj<=nn;jj++) cc[nn+1-ii][nn+1-jj]=data1[ii][jj];
}
void zhuanhuan3(char cc[11][11],int nn)
{
    int ii,jj;
    for (ii=1;ii<=nn;ii++) for (jj=1;jj<=nn;jj++) cc[nn+1-jj][ii]=data1[ii][jj];
}
void zhuanhuan4(char cc[11][11],int nn)
{
    int ii,jj;
    for (ii=1;ii<=nn;ii++) for (jj=1;jj<=nn;jj++) cc[ii][nn+1-jj]=data1[ii][jj];
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -