2 条题解
-
1
AC code
#include<queue> #include<stack> #include<cmath> #include<math.h> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<stdio.h> #include<iomanip> #include<algorithm> #include<string.h> #include<iostream> #include<utility> #include<cstring> #include<fstream> using namespace std; typedef long long ll; const int N = 1e5 + 10; const int INF = 0x3f3f3f3f; int mlist[1026][10] = { 1 }; int main() { int m; cin >> m; int n = 1 << m; int k = 1; int half = 1; while ( k <= m ) { //TODO for ( int i = 0 ; i < half ; i++ ) { for ( int j = 0 ; j < half ; j++ ) { mlist[i][ j + half ] = mlist[i][j] + half; } } for ( int i = 0 ; i < half ; i++ ) { //TODO for ( int j = 0 ; j < half ; j++ ) { //TODO mlist[ i + half ][j] = mlist[i][ j + half ]; mlist[ i + half ][ j + half ] = mlist[i][j]; } } half *= 2; k++; } for ( int i = 0 ; i < n ; i++ ) { //TODO for ( int j = 0 ; j < n ; j++ ) { //TODO cout << mlist[i][j] << " "; } cout << endl; } return 0; } -
-1
要答案吗?看这里!#include <bits/stdc++.h> using namespace std; int n,m,a[70][70],h=1; int main() { scanf("%d",&m); n=1<<m; a[1][1]=1; for(int i=1; i<=m; i=i+1) { for(int j=1; j<=h; j=j+1) { for(int k=1; k<=h; k=k+1)a[j][k+h]=a[j][k]+h; } for(int j=1; j<=h; j=j+1) { for(int k=1; k<=h; k=k+1) { a[j+h][k]=a[j][k+h]; a[j+h][k+h]=a[j][k]; } } h=h*2; } for(int i=1; i<=n; i=i+1) { for(int j=1; j<=n; j=j+1) { //printf("%d ",a[i][j]); if(a[i][j]>9)printf("%d ",a[i][j]); else printf("%d ",a[i][j]); } printf("\n"); } return 0; }
- 1
信息
- ID
- 1663
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 29
- 已通过
- 10
- 上传者