Cod sursa(job #1128047)
Utilizator | Data | 27 februarie 2014 15:04:33 | |
---|---|---|---|
Problema | Tablete | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 2.3 kb |
#include<stdio.h>
#include<iostream>
using namespace std;
int a[1001][1001];
int main()
{
freopen("tablete.in","r",stdin);
freopen("tablete.out","w",stdout);
int n,k,i,j;
int ILIE=1,max1;
scanf("%d%d",&n,&k);
if(n%2==1&&k%2==0)
{
for(i=1;i<=n;i++)
for(j=1;j<=k;j++)
{
a[i][j]=ILIE;
ILIE++;
}
for(i=1;i<=n;i++)
for(j=k+1;j<=n;j++)
{
a[i][j]=ILIE;
ILIE++;
}
}
if(n%2==0&&k%2==0)
{
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
a[i][j]=ILIE;
ILIE++;
}
}
if(k%2==1)
{
ILIE=0;
for(i=1;i<=n;i++)
for(j=1;j<=k;j++)
{
if(i%2==1)
{
if(j<k){
ILIE++;
a[i][j]=ILIE;
}
if(j==k)
{
ILIE+=2;
a[i][j]=ILIE;
}
}
if(i%2==0)
{
if(j==1)
{
ILIE--;
a[i][j]=ILIE;
}
if(j==2)
{
ILIE++;
ILIE++;
a[i][j]=ILIE;
}
if(j>2)
{
ILIE++;
a[i][j]=ILIE;
}
}
}
if(n%2==1)
{
max1=ILIE;
ILIE--;
}
for(i=1;i<=n;i++)
for(j=k+1;j<=n;j++)
{
if(ILIE==max1)
ILIE++;
if(n%2==1){
a[i][j]=ILIE;
ILIE++;}
else
{
ILIE++;
a[i][j]=ILIE;
}
}
}
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}