码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 2190

时间:2015-02-14 23:49:03      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:

直接枚举0~X就可以了。。。我开始竟然往扩展欧几里德定理想了,呃呃---

#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
using namespace std;

char st[20];

int main()
{
    //freopen("t.txt", "r", stdin);
    gets(st);
    int ans = 0;
    int pos = 0;
    for (int i = 0; i < 10; i++)
        if (st[i] == ‘?‘)
            pos = 10 - i;
        else if (st[i] == ‘X‘)
            ans += 10 * (10 - i);
        else
            ans += (st[i] - ‘0‘) * (10 - i);
    for (int i = 0; i <= 9; i++)
        if ((ans + i * pos) % 11 == 0)
        {
            printf("%d\n", i);
            return 0;
        }
    if ((ans + 10 * pos) % 11 == 0 && pos == 1)
    {
        printf("X\n");
        return 0;
    }
    printf("-1\n");
    return 0;
}

  

POJ 2190

标签:

原文地址:http://www.cnblogs.com/jie-dcai/p/4292302.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!