50分蒟蒻求dalao进行debug!测试样例全过!!
查看原帖
50分蒟蒻求dalao进行debug!测试样例全过!!
756608
andy605楼主2023/10/30 20:47
#include <bits/stdc++.h>
using namespace std;
int sum=0,a,b,c,d;
char d2;
int digit(int x){
    int r=0;
    while(x>0){
        x/=10;
        r++;
    }
    return r;
}
int main(){
    scanf("%d-%d-%d-%c",&a,&b,&c,&d2);
    switch(d2){
        case '0':d=0;break;
        case '1':d=1;break;
        case '2':d=2;break;
        case '3':d=3;break;
        case '4':d=4;break;
        case '5':d=5;break;
        case '6':d=6;break;
        case '7':d=7;break;
        case '8':d=8;break;
        case '9':d=9;break;
        case 'X':d=10;break;
    }
    sum+=a;
    int s=b,n=4;
    for(int i=1;i<=3;i++){
    	sum+=(s%10)*n;
    	s/=10;
    	n--;
	}
    s=c;
    n=9;
    for(int i=1;i<=5;i++){
    	sum+=(s%10)*n;
    	s/=10;
    	n--;
	}
	sum%=11;
    if(sum==d) cout<<"Right\n";
    else{
        cout<<a<<"-";
        for(int i=1;i<=3-digit(b);i++) cout<<0;
        cout<<b<<"-";
        for(int i=1;i<=5-digit(c);i++) cout<<0;
        cout<<c<<"-";
        if(d==10){
        	cout<<"X\n";
		}
		else{
			cout<<sum<<endl;
		}
    }
    return 0;
}

在dev上样例全通过了,自己发现的问题也都解决了, 可在洛谷上还是个50(半AC)!! 望大佬进行debug!!

不知道是不是代码太长了

2023/10/30 20:47
加载中...