Cod sursa(job #2049201)

Utilizator mirceaisherebina mircea mirceaishere Data 26 octombrie 2017 22:43:54
Problema Tablete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <fstream>
using namespace std;
ifstream fin("tablete.in");
ofstream fout("tablete.out");

int n, k, c[1000002], ant, t, i, j;
int v[1001][1001];




int main () {
    fin>>n, k;
    j=k;
    for(i=1; i<=n; i++){
        if(i*(n-1)+j%2==0){
            v[i][j]=i*(n-1)+j;
            c[v[i][j]]=1;
        }else{
            if(i==n){
                v[i][j]=i*(n-1)+j-1;
                c[v[i][j]]=1;
            }else{
                v[i][j]=(i*(n-1)+j)+1;
                c[v[i][j]]=1;
            }
        }
    }

    for(i=1; i<=n; i++){
        for(j=1; j<=n; j++){
            t=0;
            if(v[i][j]==0){
                if(j<k){
                    while(c[v[i][k]-t]==1)
                        t++;
                    v[i][j]=v[i][k]-t;
                    c[v[i][j]]=1;
                }else{

                    while(c[v[i][k]+t]==1)
                        t++;
                    v[i][j]=v[i][k]+t;
                    c[v[i][j]]=1;
                }
            }
        }
    }

        for(int a=1; a<=n; a++){
            for(int b=1; b<=n; b++){
                fout<<v[a][b]<<" ";
            }
            fout<<"\n";
        }

}