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

hoj12839

时间:2014-07-27 21:41:25      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

  题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=12839&courseid=269

 

  水题 debug半天 每一次只考虑当前的数字及前面的那个数字。

 

代码:

 

  

bubuko.com,布布扣
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define INF 1000000100
#define MAX 1000000200

using namespace std;

char a[15];
int b[1005];

int main()
{
    int N;
    while(scanf("%d", &N), N)
    {
        int num = 0;
        int judge = 0; //1 唯一存在 2 不存在 3 很多种
        int l = -INF, r = INF;
        b[0] = 0;
        for(int i = 1; i <= N; i++) { //把对应的字符串转化成数字
            int s;
            scanf("%s", a);
            if(a[0] == x) b[i] = INF;
            else {
                    s = 0;
                    int j;
                    if(a[0] == -) j = 1;
                    else j = 0;
                    for(j = j; a[j]; j++) {
                        s *= 10;
                        s += a[j] - 0;
                    }
                    if(a[0] == -) b[i] = -s;
                    else b[i] = s;
            }
        }
        b[0] = MAX;
        for(int i = 1; i <= N && judge != 2; i++) {
            if(b[i] == INF && b[i-1] == INF) judge = 2;
            else if(b[i] == INF && b[i-1] != INF) {
                if(i%2) r = min(r, b[i-1]-1); //当前是奇数位 x比前面一个数小 那么x的上限应该为l与前面一个数中较小的
                else l = max(l, b[i-1]+1); //当前是偶数位 x比前面的一个数大 那么x的下限应该是x和前面一个数较大的
            }
            else if(b[i] != INF && b[i-1] == INF) {
                if(i%2) l = max(l, b[i]+1);
                else r = min(r, b[i]-1);
            }
            else {
                if(i%2 && b[i] >= b[i-1] || !(i%2) && b[i] <= b[i-1]) judge = 2;
            }
        }
        if(judge == 2 || l > r) printf("none\n");
        else if(l == r) printf("%d\n", l);
        else if(l < r) printf("ambiguous\n");
    }
    return 0;
}
View Code

 

hoj12839

标签:

原文地址:http://www.cnblogs.com/sayeter/p/3871191.html

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