poj 2498(水题)


#include
#include
using namespace std;
int main(){
    int n,len,sum,dis[] = {9,3,7},p,q,val;
    char data[10];
    scanf("%d",&n);
    for(int cnt=1;cnt<=n;cnt++){
        scanf("%s",data);
        len = strlen(data);
        sum = 0;
        for(int i=0,j=len-1;j>-1;j--,i++){
            val = dis[i%3];
            if(data[j]!='?'){
                sum += (data[j]-'0')*val;
            }
            else{
                p = j;
                q = i;
            }
        }
        if(p==0){
            for(int i=1;i<=9;i++){
                if((sum+i*dis[q%3])%10==0){
                    data[p] = '0'+i;
                }
            }
        }
        else{
            for(int i=0;i<=9;i++){
                if((sum+i*dis[q%3])%10==0){
                    data[p] = '0'+i;
                }
            }
        }
        printf("Scenario #%d:\n%s\n\n",cnt,data);
    }
    return 0;
} 

相关