Cod sursa(job #230804)

Utilizator savimSerban Andrei Stan savim Data 14 decembrie 2008 10:34:58
Problema Tablete Scor 100
Compilator cpp Status done
Runda Algoritmiada 2009, Runda 1, Clasele 9-10 Marime 0.8 kb
#include <stdio.h>

int n, i, j, k, p, nr, x;
int a[1010][1010];

void cit() {
	freopen("tablete.in", "r", stdin);
	freopen("tablete.out", "w", stdout);
	
	scanf("%d %d", &n, &k);
}

void solve() {
	for (i = 1; i <= n; i++)
		for (j = 1; j <= n; j++)
			a[i][j] = n * (i - 1) + j;
	
	for (i = 1; i < n; i++) 
		if (a[i][k] % 2 == 1) {
			x = a[i][k];
			for (j = k; j < n; j++)
				a[i][j] = a[i][j + 1];
			a[i][n] = a[i + 1][1];
			a[i + 1][1] = x;
		}
	
	if (a[n][k] % 2 == 1) {
		x = a[n][k]; a[n][k] = a[n][k - 1]; a[n][k - 1] = x;
		for (i = 1; i < k; i++) {
			x = a[i][n]; a[i][n] = a[n][i]; a[n][i] = x;
		}
	}
	
	for (i = 1; i <= n; i++) {
		for (j = 1; j <= n; j++)
			printf("%d ", a[i][j]);
		printf("\n");
	}
}

int main() {

	cit();
	solve();
	
	return 0;
}