Cod sursa(job #2337318)

Utilizator TigoanMateiTigoan Matei-Daniel TigoanMatei Data 6 februarie 2019 11:42:35
Problema Cautare binara Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 2.05 kb
#include <fstream>

using namespace std;

ifstream in("cartele.in");
ofstream out("cartele.out");

int n,c,ok,sol;
int a[55][55],b[55][55];

int main()
{
    in>>n>>c;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            in>>a[i][j];
    for(int k=1;k<=c;k++)
    {
        sol=0;
        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
                in>>b[i][j];
        ///NORMAL
        ok=1;
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
                if(a[i][j]!=b[i][j]) ok=0;
        }
        if(ok==1) sol=1;
        ///OGLINDIT DREAPTA
        ok=1;
        for(int i=1;i<=n;i++)
        {
            for(int j=n;j>0;j--)
                if(a[i][n-j+1]!=b[i][j])ok=0;
        }
        if(ok==1) sol=1;
        ///OGLINDIT DREAPTA LA 180 GRADE
        ok=1;
        for(int i=n;i>0;i--)
        {
            for(int j=n;j>0;j--)
                if(a[n-i+1][n-j+1]!=b[i][j]) ok=0;
        }
        if(ok==1) sol=1;
        ///LA 90 GRADE
        ok=1;
        for(int i=n;i>0;i--)
        {
            for(int j=1;j<=n;j++)
                if(a[n-i+1][j]!=b[j][i]) ok=0;
        }
        if(ok==1) sol=1;
        ///OGLINDIT in sus
        ok=1;
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=n;j++)
                if(a[i][j]!=b[j][i]) ok=0;
        }
        if(ok==1) sol=1;
        ///OGLINDIT DREAPTA LA 90 GRADE
        ok=1;
        for(int i=n;i>0;i--)
        {
            for(int j=n;j>0;j--)
                if(a[n-i+1][n-j+1]!=b[j][i]) ok=0;
        }
        if(ok==1) sol=1;
        ///LA 270 GRADE
        ok=1;
        for(int i=n;i>0;i--)
        {
            for(int j=1;j<=n;j++)
                if(a[n-i+1][j]!=b[j][i]) ok=0;
        }
        if(ok==1) sol=1;
        ///la 180
        ok=1;
        for(int i=n;i>0;i--)
        {
            for(int j=1;j<=n;j++)
                if(a[n-i+1][j]!=a[i][j]) ok=0;
        }
        if(ok==1) sol=1;
        out<<sol<<'\n';
    }
    return 0;
}