Cod sursa(job #1768515)

Utilizator silkMarin Dragos silk Data 1 octombrie 2016 00:04:05
Problema Tablete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <cstdio>
#define NMax 1000

int v[NMax+1][NMax+1];
char s[10];

void swap(int& a,int& b)
{
    int aux;
    aux = a;
    a = b;
    b = aux;
}

int main(){
    freopen("tablete.in","r",stdin);
    freopen("tablete.out","w",stdout);

    int N,K,i,j;

    scanf("%d %d",&N,&K);
    for(i = 1; i <= N; ++i)
        for(j = 1; j <= N; ++j) v[i][j] = (i-1)*N + j;

    for(i = 1; i < N; ++i)
    if( v[i][K] % 2 )
    {
        for(j = K; j < N; ++j) swap( v[i][j], v[i][j+1] );
        swap( v[i][N], v[i+1][1] );
    }

    if( v[N][K] % 2 )
    {
        for(j = N; j > 1; --j) swap( v[N][j], v[N][j-1] );
        swap( v[1][1], v[N][1] );
    }

    for(i = 1; i <= N; ++i)
    {
        for(j = 1; j <= N; ++j)
        printf("%d ",v[i][j]);
    printf("%d\n",v[i][j]);
    }


return 0;
}