Cod sursa(job #2029725)

Utilizator cont_nouCont Nou cont_nou Data 30 septembrie 2017 12:56:29
Problema Tablete Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin ("tablete.in");
ofstream fout ("tablete.out");

int a[1002][1002];

int main()
{
    int n,k,nr=1;
    fin>>n>>k;
    k--;
    for (int j=0; j<n; j++)
        for (int i=0; i<n; i++)
            a[i][j]=nr++;
    for (int i=0; i<n; i++)
        if (a[i][k]%2==1)
        {
            bool ok=false;
            for (int l=0; l<n&&!ok; l++)
                for (int c=0; c<n&&!ok; c++)
                {
                    if (c==k)
                        continue;
                    if (a[l][c]%2==0&&a[i][k]<a[l][c+1]&&a[l][c-1]<a[i][k]&&a[l][c]<a[i][k+1]&&a[i][k-1]<a[l][c])
                    {
                        int aux=a[i][k];
                        a[i][k]=a[l][c];
                        a[l][c]=aux;
                        ok=true;
                        break;
                    }
                }
        }
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<n; j++)
            fout<<a[i][j]<<' ';
        fout<<endl;
    }
    return 0;
}