Cod sursa(job #1616749)
Utilizator | 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;
}