Pagini recente » Cod sursa (job #1872858) | Cod sursa (job #1461152) | Cod sursa (job #3208075) | Cod sursa (job #2300065) | Cod sursa (job #2903342)
#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;
}