Cod sursa(job #1558504)

Utilizator SilviuIIon Silviu SilviuI Data 29 decembrie 2015 11:57:16
Problema Tablete Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <stdio.h>
#include <algorithm>
#define nmax 1010

using namespace std;

int n,m;
int sol[nmax][nmax];

void print() 
{
	for (int i=1;i<=n;i++) {
		for (int j=1;j<=n;j++) printf("%d ",sol[i][j]);
		printf("\n");
	}
}

int main() {
	freopen("tablete.in","r",stdin);
	freopen("tablete.out","w",stdout);
	scanf("%d %d",&n,&m);
	for (int i=1;i<=n;i++)
	    for (int j=1;j<=n;j++)
	        sol[i][j]=((i-1)*n+j);
	if (m%2==0) { print(); return 0; }
	for (int i=1;i<=n;i++) swap(sol[i][m],sol[i][m+1]);
	for (int i=1;i<=n;i++) {
		for (int j=m+1;j<n;j++) sol[i][j]=sol[i][j+1];
	}
	for (int i=1;i<n;i++) swap(sol[i][n],sol[i+1][1]);
	for (int i=2;i<=n;i++) sol[i][1]=((i-2)*n+m);
	print();
	return 0;
}