Cod sursa(job #1616749)

Utilizator AndreiTACAndrei Cristian AndreiTAC Data 27 februarie 2016 11:54:05
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.54 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    ifstream in("tablete.in");
    ofstream out("tablete.out");
    int i,j,n,k,ok=0;
    in>>n>>k;
    int a[n][n],nr=n*n;
    k--;
    n--;
    for(i=n;i>k;i--)
        {
            for(j=n;j>=0;j--)
                {
                    a[j][i]=nr;
                    nr--;
                }
        }
    if(nr%2==0)
        {
            for(i=n;i>=0;i--)
                {
                    a[i][k]=nr;
                    a[i][k-1]=nr-1;
                    nr-=2;
                }
            for(i=k-2;i>=0;i--)
                {
                    for(j=n;j>=0;j--)
                        {
                            a[j][i]=nr;
                            nr--;
                        }
                }
        }
    else
        {
            a[0][k+1]--;
            nr++;
            for(i=n;i>=0;i--)
                {
                    a[i][k]=nr;
                    a[i][k-1]=nr-3;
                    nr-=2;
                }
            a[0][k-1]++;
            nr--;
            for(i=k-2;i>=0;i--)
                {
                    for(j=n;j>=0;j--)
                        {
                            a[j][i]=nr;
                            nr--;
                        }
                }
        }
    for(i=0;i<=n;i++)
        {
            for(j=0;j<=n;j++)
                {
                    out<<a[i][j]<<" ";
                }
            out<<"\n";
        }
    return 0;
}