Cod sursa(job #444366)

Utilizator paul_gabryelPaul Buda paul_gabryel Data 20 aprilie 2010 09:40:31
Problema Tablete Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<cstdio>
#include<iostream>
#include<fstream>

using namespace std;

#define nn 1001

int a[nn][nn];
int n,k;

int main ()
{
	
	ifstream fin ("tablete.in");
	freopen("tablete.out","w",stdout);
	fin>>n>>k;
	fin.close();
	for(int i=1;i<=n;++i)
	for(int j=1;j<=n;++j)
	a[j][i]=((n*(i-1))+j);
	if(n%2==0){
		for(int i=n;i>1;--i){
			if(a[i][k]%2==1){
				int gasit=0;
				for(int j=i-1;j>=1&&gasit==0;--j)
					if(a[j][k+1]%2==0){
						gasit=a[i][k];
						a[i][k]=a[j][k+1];
						a[j][k+1]=gasit;
						}
				}
				
			}
		int aux=a[1][k];
		a[1][k]=a[n][k-1];
		a[n][k-1]=aux;
		}
	for(int i=1;i<=n;++i){
		for(int j=1;j<=n;++j)
		printf("%d ",a[i][j]);
		printf("\n");}
	
	
	return 0;}