top1编程
← 返回题目
题解

【基础】比赛安排

1 条题解

  • 0
    @ 2026-7-29 0:17:46
    #include<bits/stdc++.h>
    int x[100][100],y[100];
    using namespace std;
          int main(){
          int n;
    	  cin>>n;
    	  int day=pow(2,n)-1;
    	  int m=day+1;
    	  for(int i=1;i<=day;i++){
    		  cout<<"<"<<i<<">";
    	      for(int k=1;k<=m;k++)y[k]=0;
    		  for(int j=1;j<=m;j++){
    			  if(y[j]==1)continue;
    			  y[j]=1;
    			  for(int l=1;l<=m;l++){
    				  if(x[j][l]==0&&y[l]==0){
    					  cout<<j<<"-"<<l;
    					  x[j][l]=1;
    					  y[l]=1;
    					  cout<<" ";
    					  break;
    				  }
    			  }
    		  }
    		  cout<<endl;
    	  }
    	  return 0;
    	  }
    
    • 1