Cod sursa(job #1678853)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 7 aprilie 2016 15:55:11
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.66 kb
#include <fstream>

using namespace std;

int n,k,a[1001][1001],nr,i,j;

ifstream fin ("tablete.in");

ofstream fout ("tablete.out");

int main (){

    fin>>n>>k;
    if (k % 2 == 0){
        nr = 0;
        for (i=1;i<=n;i++)
            for (j=1;j<=k;j++){
                nr++;
                a[i][j] = nr;
            }
        for (i=1;i<=n;i++)
            for (j=k+1;j<=n;j++){
                nr++;
                a[i][j] = nr;
            }

    }
    else{
        nr = 0;
        for (i=1;i<n;i++)
            for (j=1;j<=k;j++){
                nr++;
                if (a[i][j] == 0){
                    if (j < k)
                        a[i][j] = nr;
                    else{
                        if (nr % 2 == 1){
                            a[i+1][1] = nr;
                            a[i][j] = nr+1;
                        }
                        else
                            a[i][j] = nr;
                    }
                }
            }

        for (j=1;j<k;j++){
            nr++;
            if (a[n][j] == 0){

                a[n][j] = nr;
            }
        }
        if ( (nr+1)%2 == 0 ){
            nr++;
            a[n][k] = nr;
        }
        else{
            nr++;
            a[1][k+1] = nr;
            nr++;
            a[n][k] = nr;
        }

        for (i=1;i<=n;i++)
            for (j=k+1;j<=n;j++)
                if (a[i][j] == 0){
                    nr++;
                    a[i][j] = nr;
                }

    }

    for (i=1;i<=n;i++){
        for (j=1;j<=n;j++)
            fout<<a[i][j]<<" ";
        fout<<"\n";
    }

    return 0;
}