1 条题解
-
0
#include <bits/stdc++.h> #define N 4005 using namespace std; typedef long long ll; char s1[N][N],s2[N][N],s3[N][N],s4[N][N]; string s[N]={"","","","...","...","..."}; inline void fun1(int x1,int x2,int y1,int y2,int k,char s1[][N],char s2[][N]) { int i,j,k1,k2; for(k1=x1,i=0;i<k;++i,++k1) for(k2=y1,j=0;j<k;++j,++k2) s2[k1][k2]=s1[i][j]; return; } int main(void) { int i,j,x; ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>x; for(i=0;i<6;++i) for(j=0;j<6;++j) s1[i][j]=s[i][j]; for(i=0;i<6;++i) for(j=0;j<6;++j) if(s1[i][j]=='') s2[i][j]='.'; else s2[i][j]=''; if(x==1) { for(i=0;i<6;++i) cout<<s[i]<<'\n'; } else { int k1,k2,k; for(k=12,i=2;i<=x;++i,k=2) { int y=k/2,c=0; for(k1=0;k1<k;k1+=y) for(k2=0;k2<k;k2+=y) { ++c; if(c<4) fun1(k1,k1+y-1,k2,k2+y-1,y,s2,s3); else fun1(k1,k1+y-1,k2,k2+y-1,y,s1,s3); } for(c=k1=0;k1<k;k1+=y) for(k2=0;k2<k;k2+=y) { ++c; if(c<4) fun1(k1,k1+y-1,k2,k2+y-1,y,s1,s4); else fun1(k1,k1+y-1,k2,k2+y-1,y,s2,s4); } for(k1=0;k1<k;++k1) for(k2=0;k2<k;++k2) s1[k1][k2]=s3[k1][k2],s2[k1][k2]=s4[k1][k2]; } k/=2; for(i=0;i<k;++i) { for(j=0;j<k;++j) cout<<s1[i][j]; cout<<'\n'; } } return 0; }
- 1
信息
- ID
- 940
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 345
- 已通过
- 45
- 上传者