Cod sursa(job #3335833)

Utilizator Andrei_Gagea08Andrei Gagea Andrei_Gagea08 Data 23 ianuarie 2026 17:53:56
Problema Tablete Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>

using namespace std;

ifstream cin("tablete.in");
ofstream cout("tablete.out");

int v[1001][1001];

int main()
{
	int n,k,i,j;
	cin>>n>>k;

	///zona 1 si 2
	int cnt = 1;
	for(i=1;i<=n/2;i++)
	{
		if(v[i][1]==0)
			v[i][1] = cnt++;
		for(j=2;j<=k;j++)
			v[i][j] = cnt++;
		if(v[i][k]%2==1)
		{
            v[i+1][1] = cnt++;
            swap(v[i+1][1] , v[i][k]);
		}
	}
	for(;i<=n;i++)
	for(j=1;j<k;j++)
		if(v[i][j]==0)
			v[i][j] = cnt++;

	///zona 3 / 4
	int cnt2 = n*n;
	for(i=n;i>n/2;i--)
	{
		if(v[i][n]==0)
			v[i][n] = cnt2--;
		for(j=n-1;j>=k;j--)
			v[i][j] = cnt2--;
		if(v[i][k]%2==1)
		{
            v[i-1][n] = cnt2--;
            swap(v[i-1][n] , v[i][k]);
		}
	}
	for(;i>0;i--)
	for(j=n;j>k;j--)
		if(v[i][j]==0)
			v[i][j] = cnt2--;

	/// cout
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=n;j++)
			cout<<v[i][j]<< ' ';
		cout<<'\n';
	}
    return 0;
}