Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
127458 | 周歆童(初一23 | 循环比赛 | C++ | 解答错误 | 20 | 0 MS | 260 KB | 1121 | 2024-01-25 09:10:11 |
#include<bits/stdc++.h> using namespace std; int n,m; bool b[11][11][11]; int main(){ cin>>m; n=2*m; for(int i=1;i<=n;i++){ printf("%-4d",i); b[1][1][i]=b[i][1][1]=1; } cout<<endl; for(int i=2;i<=n;i++){//遍历每个选手 printf("%-4d",i); for(int j=1;j<n;j++){//遍历每天 if(j<i){//如果天数<选手编号(选手这一天已经与前面的选手比赛过) for(int k=1;k<i;k++){//遍历前面的每个选手k if(b[k][j][i]){//如果k选手在第j天与i选手比赛过 printf("%-4d",k);//今天i与k比赛 break; } } } else{ for(int k=i+1;k<=n;k++){//遍历后面的每个选手k bool flag=1; for(int l=1;l<=k;l++){//遍历该选手前面的每个选手l if(b[l][j][k]){//如果l选手在第j天与k选手比赛过 flag=0;//则i选手不能在这一天与k选手比赛 break; } } if(flag){//如果可以比赛 b[i][j][k]=b[k][j][i]=1;//i在第j天与k比赛 printf("%-4d",k); break; } } } } cout<<endl; } return 0; }