Cod sursa(job #1359980)

Utilizator fanache99Constantin-Buliga Stefan fanache99 Data 25 februarie 2015 10:35:02
Problema Tablete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.96 kb
#include<cstdio>
using namespace std;
int a[1001][1001];
int main(){
    freopen("tablete.in","r",stdin);
    freopen("tablete.out","w",stdout);
	int n,k,nr,i,j;
	scanf("%d%d",&n,&k);
	if(k%2==0){
	    nr=0;
        for(i=1;i<=n;i++)
            for(j=1;j<=k;j++){
                nr++;
                a[i][j]=nr;
            }
        for(i=1;i<=n;i++)
            for(j=k+1;j<=n;j++){
                nr++;
                a[i][j]=nr;
            }
	}
	else
        if(n%2==0){
            nr=0;
            for(i=1;i<=n;i+=2){
                for(j=1;j<=k-1;j++){
                    nr++;
                    a[i][j]=nr;
                }
                a[i][k]=nr+2;
                a[i+1][1]=nr+1;
                nr+=2;
                for(j=2;j<=k;j++){
                    nr++;
                    a[i+1][j]=nr;
                }
            }
            for(i=1;i<=n;i++)
                for(j=k+1;j<=n;j++){
                    nr++;
                    a[i][j]=nr;
                }
        }
        else{
            nr=0;
            for(i=1;i<=n-2;i+=2){
                for(j=1;j<=k-1;j++){
                    nr++;
                    a[i][j]=nr;
                }
                a[i][k]=nr+2;
                a[i+1][1]=nr+1;
                nr+=2;
                for(j=2;j<=k;j++){
                    nr++;
                    a[i+1][j]=nr;
                }
            }
            for(j=1;j<=k-1;j++){
                nr++;
                a[n][j]=nr;
            }
            a[n][k]=nr+2;
            nr++;
            for(i=1;i<=n;i++)
                for(j=k+1;j<=n;j++){
                    nr++;
                    a[i][j]=nr;
                }
            a[1][k+1]=n*k;
        }
	for(i=1;i<=n;i++)
        for(j=1;j<=n;j++){
            printf("%d",a[i][j]);
            if(j==n)
                printf("\n");
            else
                printf(" ");
        }
	return 0;
}