Cod sursa(job #1938736)

Utilizator Andrei_CotorAndrei Cotor Andrei_Cotor Data 25 martie 2017 10:01:01
Problema Tablete Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.62 kb
#include <stdio.h>
#include <algorithm>
using namespace std;
FILE *fi,*fo;
int x,n,i,j,k,A[1001][1001];
int main()
{
    fi=fopen("tablete.in","r");
    fo=fopen("tablete.out","w");
    fscanf(fi,"%d%d",&n,&k);
    x=0;
    for(i=1; i<=n; i++)
        for(j=1; j<=n; j++)
            A[i][j]=++x;
    if(n%2==0)
    {
        if(k%2==0)
        {
            for(i=1; i<=n; i++)
            {
                for(j=1; j<=n; j++)
                    fprintf(fo,"%d ",A[i][j]);
                fprintf(fo,"\n");
            }
        }
        else
        {
            for(i=1; i<=n; i++)
            {
                if(k>1)
                {
                    swap(A[i][k],A[i][k-1]);
                }
                else
                {
                    swap(A[i][k],A[i][k+1]);
                }
                for(j=1; j<=n; j++)
                {
                    fprintf(fo,"%d ",A[i][j]);
                }
                fprintf(fo,"\n");
            }
        }
    }
    else
    {
        for(i=1; i<=n; i++)
        {
            if(A[i][k]%2==1)
            {
                if(k==1)
                {
                    swap(A[i][k],A[i][k+1]);
                }
                else
                {
                    swap(A[i][k],A[i][k-1]);
                }
            }
            for(j=0; j<=n+1; j++)
            {
                if(A[i][j]!=0)
                {
                    fprintf(fo,"%d ",&A[i][j]);
                }
            }
            fprintf(fo,"\n");
        }
    }
    fclose(fi);
    fclose(fo);
    return 0;
}