卞云珑 @ 2021-08-18 08:40:18
#include<bits/stdc++.h>
using namespace std;
char a[10][500];
int b[200];
int main()
{
// freopen("xxx.in","r",stdin);
// freopen("xxx.out","w",stdout);
int n;
cin>>n;
char s;
for(int i=1;i<=n;i++)
{
cin>>s;
b[i]=s-'0';
}
for(int i=1;i<=n;i++)
{
if(b[i]==0)
{
for(int j=1;j<=5;j++)
for(int k=(i-1)*4+1;k<=i*4;k++)
if(j==1||j==5)a[j][k]='X';
else
if(k==(i-1)*4+1||k==i*4-1) a[j][k]='x';
else a[j][k]='.';
}
if(b[i]==1)
{
for(int j=1;j<=5;j++)
for(int k=(i-1)*4+1;k<=i*4;k++)
if(k==i*4-1)a[j][k]='X';
else
a[j][k]='.';
}
if(b[i]==2)
{
for(int j=1;j<=5;j++)
for(int k=(i-1)*4+1;k<=i*4;k++)
if(j==1 || j==3 || j==5)a[j][k]='X';
else if(j==2 && k==i*4-1)a[j][k]='X';
else if(j==4&&k==(i-1)*4+1)a[j][k]='X';
else a[j][k]='.';
}
if(b[i]==3)
{
for(int j=1;j<=5;j++)
for(int k=(i-1)*4+1;k<=i*4;k++)
if(j==1 || j==3 || j==5)a[j][k]='X';
else if((j==2 || j==4) && k==i*4-1)a[j][k]='X';
else a[j][k]='.';
}
if(b[i]==4)
{
for(int j=1;j<=5;j++)
for(int k=(i-1)*4+1;k<=i*4;k++)
if(j==3 || k==i*4-1)a[j][k]='X';
else if(1<=j&&j<=3&& k==(i-1)*4+1)a[j][k]='X';
else a[j][k]='.';
}
if(b[i]==5)
{
for(int j=1;j<=5;j++)
for(int k=(i-1)*4+1;k<=i*4;k++)
if(j==1 || j==3 || j==5)a[j][k]='X';
else if(j==2 && k==(i-1)*4+1)a[j][k]='X';
else if(j==4&&k==i*4-1)a[j][k]='X';
else a[j][k]='.';
}
if(b[i]==6)
{
for(int j=1;j<=5;j++)
for(int k=(i-1)*4+1;k<=i*4;k++)
if(j==1 || j==3 || j==5)a[j][k]='X';
else if(j==2 && k==(i-1)*4+1)a[j][k]='X';
else if(j==4&&(k==i*4-1 || k==(i-1)*4+1))a[j][k]='X';
else a[j][k]='.';
}
if(b[i]==7)
{
for(int j=1;j<=5;j++)
for(int k=(i-1)*4+1;k<=i*4;k++)
if(j==1 || k==i*4-1)a[j][k]='X';
else a[j][k]='.';
}
if(b[i]==8)
{
for(int j=1;j<=5;j++)
for(int k=(i-1)*4+1;k<=i*4;k++)
if(j==1 || j==3 || j==5)a[j][k]='X';
else if(j==2 && (k==(i-1)*4+1 || k==i*4-1))a[j][k]='X';
else if(j==4&&(k==i*4-1 || k==(i-1)*4+1))a[j][k]='X';
else a[j][k]='.';
}
if(b[i]==9)
{
for(int j=1;j<=5;j++)
for(int k=(i-1)*4+1;k<=i*4;k++)
if(j==1 || j==3 || j==5)a[j][k]='X';
else if(j==2 && (k==(i-1)*4+1 || k==i*4-1))a[j][k]='X';
else if(j==4&&k==i*4-1)a[j][k]='X';
else a[j][k]='.';
}
}
for(int i=1;i<=5;i++)
{
for(int j=1;j<=(4*n)-1;j++)
{
if(j%4==0) cout<<".";
else cout<<a[i][j];
}
cout<<endl;
}
return 0;
}
by Fearliciz @ 2021-08-18 08:44:21
直接输出对应的数字啊,为什么要这样用for+判断呢?这样肯定容易错啊
by CarryQwQ @ 2021-08-18 08:53:19
能做这么复杂,判断加循环,就离谱。
by CarryQwQ @ 2021-08-18 08:54:25
@卞云珑 建议去看题解介绍的暴力方法,把 0~9 的点阵图案存起来然后处理字符串的时候直接输出不就好了吗。。。
by SunLegend @ 2021-08-18 09:28:02
if+建议手动输数字