Cod sursa(job #2903342)

Utilizator iancupoppPopp Iancu Alexandru iancupopp Data 17 mai 2022 14:34:17
Problema Lacate Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <vector>

using namespace std;

vector<vector<int>> v;

void calc(int n) {
  if (n == 2) {
    v.push_back(vector<int>());
    v.push_back(vector<int>());
    v[0].push_back(1);
    v[1].push_back(1);
    return;
  }
  calc(n - 1);
  for (int i = 0; i < n - 1; ++i)
    v[i].push_back((n - 1) * (n - 2) / 2 + i + 1);
  v.push_back(vector<int>());
  for (int i = (n - 1) * (n - 2) / 2 + 1; i <= n * (n - 1) / 2; ++i)
    v.back().push_back(i);
}

int main() {
  ifstream cin("lacate.in");
  ofstream cout("lacate.out");
  int n;
  cin >> n;
  cin.close();
  calc(n);
  cout << n * (n - 1) / 2 << " " << n - 1 << "\n";
  for (int i = 0; i < n; ++i) {
    for (auto j: v[i])
      cout << j << " ";
    cout << "\n";
  }
  cout.close();
  return 0;
}