Cod sursa(job #1888109)

Utilizator caesar2001Stoica Alexandru caesar2001 Data 21 februarie 2017 22:15:37
Problema Tablete Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.29 kb
#include <cstdio>

using namespace std;

FILE *in,*out;

int v[1001][1001];

int main()
{
    in = fopen("tablete.in","r");
    out = fopen("tablete.out","w");
    int n,k,nr = 0,flag = 0,flag2 = 0;
    fscanf(in,"%d %d",&n,&k);
    for(int j = 1;j <= n;j ++)
    {
        if(j == k+1)
        {
            if(v[n][j-2] % 2 == 0)
                nr = v[n][j-2] + 1;
            else
                nr = v[n][j-2] + 2;
           for(int i = 1;i <= n;i ++)
            {
                if(i != n)
                    v[i][j] = nr;
                else
                    v[i][j] = v[i][j-1] + 2;
                nr += 2;
            }
            nr -= 3;

        }
        if(j != k && j != k+1){
        for(int i = 1;i <= n;i ++)
            v[i][j] = ++nr;
        }
        if(j == k){
            if(nr % 2 == 1)
                nr ++;
            else{
                v[n][j-1] ++;
                nr = v[n][j-1]-1;
            }
            for(int i = 1;i <= n;i ++)
            {
                v[i][j] = nr;
                nr += 2;
            }

        }
    }
    v[n][n] = n*n;
    for(int i = 1;i <= n;i ++)
    {
        for(int j = 1;j <= n;j ++)
            fprintf(out,"%d ",v[i][j]);
        fprintf(out,"\n");
    }
    return 0;
}