Cod sursa(job #2915339)

Utilizator euyoTukanul euyo Data 22 iulie 2022 14:34:40
Problema Tablete Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin( "tablete.in" );
ofstream fout( "tablete.out" );

const int DIM = 1005; 

int T[DIM][DIM];

int main() {
  int n, k;

  fin >> n >> k;
  if ( k & 1 ) {
    int nr = 0;
	for ( int i = 0; i < n/2; ++i ) {
	  for ( int j = 0; j < k - 1; ++j ) {
		T[2 * i][j] = ++nr;
	  }
	  T[2 * i + 1][0] = ++nr;
	  T[2 * i][k - 1] = ++nr;
	  for ( int j = 1; j < k; ++j ) {
        T[2 * i + 1][j] = ++nr;
	  }
	}
    if ( n & 1 ) {
	  for ( int j = 0; j < k - 1; ++j ) {
		T[n - 1][j] = ++nr;
	  }
	  T[0][k] = ++nr;
	  T[n - 1][k - 1] = ++nr;
	}
	for ( int i = 0; i < n; ++i ) {
	  for ( int j = k; j < n; ++j ) {
		if ( T[i][j] == 0 ) T[i][j] = ++nr; 
	  }
	}
	for ( int i = 0; i < n; ++i ) {
      for ( int j = 0; j < n; ++j ) {
		fout << T[i][j] << " ";
	  }
	  fout << "\n";
	}
  } else {
	for ( int i = 0; i < n; ++i ) {
	  for ( int j = 0; j < n; ++j ) {
		fout << i * n + j + 1 << " ";
	  }
	  fout << "\n";
	}
  }
  fin.close();
  fout.close();
  return 0;
}