90分求救

P1055 [NOIP2008 普及组] ISBN 号码

yyc1231 @ 2023-12-30 22:46:21

第一个测试点没过,但自己测试都没问题

#include<bits/stdc++.h>
using namespace std;

char a[14];
int cnt;

int main(){
    for(int i=1;i<=13;i++){
        scanf("%c",&a[i]);
    }
    cnt=(a[1]-48+(a[3]-48)*2+(a[4]-48)*3+(a[5]-48)*4+(a[7]-48)*5+(a[8]-48)*6+(a[9]-48)*7+(a[10]-48)*8+(a[11]-48)*9)%11;
    if(cnt==10){
        if(a[13]=='X'){
            cout<<"Right";
        }else{
            for(int i=1;i<=12;i++){
                cout<<a[i];
            }
            cout<<"X";
        }
    }else if(a[13]==cnt){
        cout<<"Right";
    }else{
        for(int i=1;i<=12;i++){
            cout<<a[i];
        }
        cout<<cnt;
    }
    return 0;
}

by liyandong @ 2024-01-07 21:28:39

#include<iostream>
using namespace std;
int main(){
    char a[14],mod[12]="0123456789X";
    scanf("%s",a);
    int i,j=1,t=0;
    for(i=0;i<12;i++){
        if(a[i]=='-') continue;
        t+=(a[i]-48)*j++;
    }
    if(mod[t%11]==a[12])
        cout<<"Right";
    else{
        a[12]=mod[t%11];
        printf("%s",a);
    }
    return 0;
}

@yyc1231


by liyandong @ 2024-01-07 21:29:20

ac得


|