提交时间:2026-07-17 12:38:21

运行 ID: 92675

#include<cstdio> #include<cstring> #define maxn 100 using namespace std; bool a[maxn],b[maxn][maxn]; int main() { int n,i,j,k,s,sum; scanf("%d",&n); s=1<<n; for(i=1;i<s;i++) { memset(a,0,sizeof(a)); printf("<%d>",i); sum=0; for(j=1;j<s;j++) for(k=j+1;k<=s;k++) if(!a[j] && !a[k] && !b[j][k] && !b[k][j]) { a[j]=a[k]=1; b[j][k]=b[k][j]=1,sum++; printf("%d-%d",j,k); if(sum<(s>>1))printf(" "); } printf("\n"); } return 0; }