su180 @ 2023-11-01 16:10:28
大佬们,我后两个测试点(估计是数据比较大的)WA,我下载了四号测试点数据: 60 012345670123456789890123456789012345678901012345678923456789 我的代码如下(本蒟蒻比较暴力):
#include<stdio.h>
#include<math.h>
#include<string.h>
int main ()
{
int n,x,y,i,j;
scanf("%d",&n);
scanf("%d",&x);
char a[5][4*n-1];
int b[n];
for(i=0;i<5;i++){
for(j=0;j<4*n-1;j++){
a[i][j]='.';
}
}
for(i=n-1;i>=0;i--){
y=x/pow(10,i);
b[n-i-1]=y;
x-=y*pow(10,i);
}
for(i=0;i<n;i++){
j=4*i;
if(b[i]==0){
a[0][j]=a[0][j+1]=a[0][j+2]=a[1][j]=a[1][j+2]=a[2][j]=a[2][j+2]=a[3][j]=a[3][j+2]=a[4][j]=a[4][j+1]=a[4][j+2]='X';
}else if(b[i]==1){
a[0][j+2]=a[1][j+2]=a[2][j+2]=a[3][j+2]=a[4][j+2]='X';
}else if(b[i]==2){
a[0][j]=a[0][j+1]=a[0][j+2]=a[1][j+2]=a[2][j]=a[2][j+1]=a[2][j+2]=a[3][j]=a[4][j]=a[4][j+1]=a[4][j+2]='X';
}else if(b[i]==3){
a[0][j]=a[0][j+1]=a[0][j+2]=a[1][j+2]=a[2][j]=a[2][j+1]=a[2][j+2]=a[3][j+2]=a[4][j]=a[4][j+1]=a[4][j+2]='X';
}else if(b[i]==4){
a[0][j]=a[0][j+2]=a[1][j]=a[1][j+2]=a[2][j]=a[2][j+1]=a[2][j+2]=a[3][j+2]=a[4][j+2]='X';
}else if(b[i]==5){
a[0][j]=a[0][j+1]=a[0][j+2]=a[1][j]=a[2][j]=a[2][j+1]=a[2][j+2]=a[3][j+2]=a[4][j]=a[4][j+1]=a[4][j+2]='X';
}else if(b[i]==6){
a[0][j]=a[0][j+1]=a[0][j+2]=a[1][j]=a[2][j]=a[2][j+1]=a[2][j+2]=a[3][j]=a[3][j+2]=a[4][j]=a[4][j+1]=a[4][j+2]='X';
}else if(b[i]==7){
a[0][j]=a[0][j+1]=a[0][j+2]=a[1][j+2]=a[2][j+2]=a[3][j+2]=a[4][j+2]='X';
}else if(b[i]==8){
a[0][j]=a[0][j+1]=a[0][j+2]=a[1][j]=a[1][j+2]=a[2][j]=a[2][j+1]=a[2][j+2]=a[3][j]=a[3][j+2]=a[4][j]=a[4][j+1]=a[4][j+2]='X';
}else if(b[i]==9){
a[0][j]=a[0][j+1]=a[0][j+2]=a[1][j]=a[1][j+2]=a[2][j]=a[2][j+1]=a[2][j+2]=a[3][j+2]=a[4][j]=a[4][j+1]=a[4][j+2]='X';
}
}
for(i=0;i<5;i++){
for(j=0;j<4*n-1;j++){
printf("%c",a[i][j]);
}
printf("\n");
}
return 0;
}
球球了QAQ
by Steve_xh @ 2023-11-01 16:25:26
@su180 你的x怎么能是int呢,60位数应该是用字符串处理
by RFco @ 2023-11-01 16:33:47
@Steve_xh 同