Cod sursa(job #366601)

Utilizator girl_styleBianca Boeriu girl_style Data 22 noiembrie 2009 09:54:26
Problema Tablete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<iostream>

using namespace std;

#include<fstream>

long a[1001][1001];
int n,k;

void prel()
{
	__int64 i,j;
	long c=1;
	for (j=1; j<k; j++)
		for (i=1; i<=n; i++)
		{
			a[i][j]=c;
			c++;
		}
	if (((n*(k-1))&1)==0)
	{
		a[1][k]=a[n][k-1];
		a[n][k-1]=c;
	}
	else
		a[1][k]=c;
    c++;
	i=2;
	int f=1;
	while (i<=n)
	{
		if ((c&1)==0)
		{
			a[i][k]=c;
			i++;
		}
		else
		{
			a[f][k+1]=c;
			f++;
		}
		c++;
	}
	for (i=f; i<=n; i++)
	{
	  a[i][k+1]=c;
	  c++;
	}
	for (j=k+2; j<=n; j++)
		for (i=1; i<=n;i++)
		{
			a[i][j]=c;
			c++;
		}

}

void afis()
{
	fstream g("tablete.out",ios::out);
	int i,j;
	for (i=1; i<=n; i++)
	{
		for (j=1; j<=n; j++)
			g<<a[i][j]<<" ";
		g<<endl;
	}
	g.close();
}

int main()
{ 
	fstream f("tablete.in",ios::in);
	f>>n;
	f>>k;
	f.close();
	prel();
	afis();
	return 0;
}