POJ 2190 模拟

按照题意模拟就好…

注意“X”只能出现在最后一位。。。

// by SiriusRen
#include <cstdio>
using namespace std;
char s[15],mark;
int main(){
    scanf("%s",s+1);
    int temp=0;
    for(int i=10;i;i--){
        if(s[11-i]=='X')s[11-i]='0'+10;
        else if(s[11-i]=='?'){mark=i;continue;}
        temp+=i*(s[11-i]-'0');
    }
    for(int i=0;i<=10;i++)
        if((temp+i*mark)%11==0){
            if(i!=10){printf("%d",i);return 0;}
            else if(mark==1){puts("X");return 0;}

        }
    puts("-1");
}

这里写图片描述

posted @ 2016-08-26 20:10  SiriusRen  阅读(146)  评论(0编辑  收藏  举报