Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
2222 | 大聪明 | 循环比赛 | C++ | 输出格式错误 | 0 | 1 MS | 528 KB | 581 | 2019-11-13 18:37:36 |
#include<iostream> #include<cmath> using namespace std; int a[1029][1029]; void f(int k,int n) { if(n==2) { a[k][1]=k; a[k][2]=k+1; a[k+1][1]=k+1; a[k+1][2]=k; } else { f(k,n/2); f(k+n/2,n/2); for(int i=k;i<k+n/2;i++) for(int j=n/2+1;j<=n;j++) a[i][j]=a[i+n/2][j-n/2]; for(int i=k+n/2;i<k+n;i++) for(int j=n/2+1;j<=n;j++) a[i][j]=a[i-n/2][j-n/2]; } } int main() { int n,m; cin>>m; n=pow(2,m); f(1,n); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) cout<<a[i][j]<<' '; cout<<endl; } return 0; }