数字大于十个就会直接输出固定的2147483647,求改正

P5730 【深基5.例10】显示屏

Retribution321 @ 2024-11-21 16:18:41


#include<bits/stdc++.h>
using namespace std;
#define pzq(a,b,c) for(int a=b;a<c;a++)
int main(){
    int n,num[101],m,s;
    char a[1000][5];
    cin>>n>>s;
    for(int i=n-1;i>=0;i--){
        num[i]=s%10;
        s/=10;
    }
    for(m=n-1;m>=0;m--){
        if(num[m]==1){
            a[4*m][0]='.';
            a[4*m+1][0]='.';
            a[4*m+2][0]='.';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='.';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='.';
            a[4*m+2][2]='.';
            a[4*m+3][2]='x';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='.';
            a[4*m+2][4]='.';
            a[4*m+3][4]='X';
        }
        if(num[m]==2){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='.';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='X';
            a[4*m+2][3]='.';
            a[4*m+3][3]='.';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==3){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='.';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==4){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='.';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='.';
            a[4*m+2][4]='.';
            a[4*m+3][4]='X';
        }
        if(num[m]==5){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='.';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==6){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='.';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='X';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==7){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='.';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='.';
            a[4*m+2][2]='.';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='.';
            a[4*m+2][4]='.';
            a[4*m+3][4]='X';
        }
        if(num[m]==8){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='X';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==9){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==0){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='.';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='X';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
    }
    pzq(i,0,5){
        pzq(j,1,4*n){
            printf("%c",a[j][i]);
        }
        printf("\n");
    }
    return 0;
}

by Retribution321 @ 2024-11-21 16:21:44

已知对应数字表示的方式没错(因为得了40分且本人重点查看过),是哪里出了问题啊,求教蟹蟹


by ycyxh1 @ 2024-11-21 16:26:07

@Retribution321

第二个数字的大小会超过int,要用字符出读入


by Retribution321 @ 2024-11-21 16:39:32

@ycyxh1
改了,谢谢,本地也对了,但是洛谷上还是错,咋办啊


#include<bits/stdc++.h>
using namespace std;
#define pzq(a,b,c) for(int a=b;a<c;a++)
#define maxn 1100
int main(){
    int n,num[101],m;
    char a[1000][5];
    string s;
    cin>>n>>s;
    for(int i=n-1;i>=0;i--){
        num[i]=s[i]-'0';
    }
    for(m=n-1;m>=0;m--){
        if(num[m]==1){
            a[4*m][0]='.';
            a[4*m+1][0]='.';
            a[4*m+2][0]='.';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='.';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='.';
            a[4*m+2][2]='.';
            a[4*m+3][2]='x';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='.';
            a[4*m+2][4]='.';
            a[4*m+3][4]='X';
        }
        if(num[m]==2){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='.';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='X';
            a[4*m+2][3]='.';
            a[4*m+3][3]='.';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==3){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='.';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==4){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='.';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='.';
            a[4*m+2][4]='.';
            a[4*m+3][4]='X';
        }
        if(num[m]==5){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='.';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==6){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='.';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='X';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==7){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='.';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='.';
            a[4*m+2][2]='.';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='.';
            a[4*m+2][4]='.';
            a[4*m+3][4]='X';
        }
        if(num[m]==8){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='X';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==9){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==0){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='.';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='X';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
    }
    pzq(i,0,5){
        pzq(j,1,4*n){
            printf("%c",a[j][i]);
        }
        printf("\n");
    }
    return 0;
}

by ycyxh1 @ 2024-11-21 16:41:56

@Retribution321

#include<bits/stdc++.h>
using namespace std;
#define pzq(a,b,c) for(int a=b;a<c;a++)
#define maxn 1100
int main(){
    int n,num[101],m;
    char a[10000][50];
    string s;
    cin>>n>>s;
    for(int i=n-1;i>=0;i--){
        num[i]=s[i]-'0';
    }
    for(m=n-1;m>=0;m--){
        if(num[m]==1){
            a[4*m][0]='.';
            a[4*m+1][0]='.';
            a[4*m+2][0]='.';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='.';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='.';
            a[4*m+2][2]='.';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='.';
            a[4*m+2][4]='.';
            a[4*m+3][4]='X';
        }
        if(num[m]==2){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='.';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='X';
            a[4*m+2][3]='.';
            a[4*m+3][3]='.';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==3){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='.';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==4){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='.';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='.';
            a[4*m+2][4]='.';
            a[4*m+3][4]='X';
        }
        if(num[m]==5){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='.';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==6){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='.';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='X';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==7){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='.';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='.';
            a[4*m+2][2]='.';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='.';
            a[4*m+2][4]='.';
            a[4*m+3][4]='X';
        }
        if(num[m]==8){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='X';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==9){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='X';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='.';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
        if(num[m]==0){
            a[4*m][0]='.';
            a[4*m+1][0]='X';
            a[4*m+2][0]='X';
            a[4*m+3][0]='X';
            a[4*m][1]='.';
            a[4*m+1][1]='X';
            a[4*m+2][1]='.';
            a[4*m+3][1]='X';
            a[4*m][2]='.';
            a[4*m+1][2]='X';
            a[4*m+2][2]='.';
            a[4*m+3][2]='X';
            a[4*m][3]='.';
            a[4*m+1][3]='X';
            a[4*m+2][3]='.';
            a[4*m+3][3]='X';
            a[4*m][4]='.';
            a[4*m+1][4]='X';
            a[4*m+2][4]='X';
            a[4*m+3][4]='X';
        }
    }
    pzq(i,0,5){
        pzq(j,1,4*n){
            printf("%c",a[j][i]);
        }
        printf("\n");
    }
    return 0;
}

by ycyxh1 @ 2024-11-21 16:43:00

@Retribution321有个地方X打成x了


by Retribution321 @ 2024-11-21 16:54:13

@ycyxh1
噢,好的,谢谢!


|