#include <bits/stdc++.h>
using namespace std;
int a[65][65];
int b[65];
int d;
int main() {
int n;
cin >> n;
int nn = pow(2, n);
d = nn / 2 - 1;
for (int i = 1; i < nn; i++) {
cout << "<" << i << ">";
for (int j = 1; j < nn; j++) {
if (!b[j])
for (int k = 2; k <= nn; k++) {
if (!a[j][k] && !b[j] && !b[k] && j != k) {
if (d > 0) {
cout << j << "-" << k << ",";
a[j][k] = 1;
b[j] = 1;
b[k] = 1;
d--;
break;
} else if ( d == 0) {
cout << j << "-" << k;
a[j][k] = 1;
b[j] = 1;
b[k] = 1;
break;
}
}
}
}
memset(b, 0, sizeof(b));
cout << endl;
d = nn / 2 - 1;
}
return 0;
}
题解:比赛安排(3月28日)
最新推荐文章于 2024-07-12 18:02:43 发布