视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
codeforcesRound#241(div2)A解题报告
2020-11-09 08:02:28 责编:小采
文档

A. Guess a number! time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output A TV show called Guess a number! is gathering popularity. The whole Berland, the old and the young, are watchin

A. Guess a number!

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

A TV show called "Guess a number!" is gathering popularity. The whole Berland, the old and the young, are watching the show.

The rules are simple. The host thinks of an integer y and the participants guess it by asking questions to the host. There are four types of acceptable questions:

  • Is it true that y is strictly larger than number x?
  • Is it true that y is strictly smaller than number x?
  • Is it true that y is larger than or equal to number x?
  • Is it true that y is smaller than or equal to number x?
  • On each question the host answers truthfully, "yes" or "no".

    Given the sequence of questions and answers, find any integer value of y that meets the criteria of all answers. If there isn't such value, print "Impossible".

    Input

    The first line of the input contains a single integer n (1?≤?n?≤?10000) — the number of questions (and answers). Next n lines each contain one question and one answer to it. The format of each line is like that: "sign x answer", where the sign is:

  • ">" (for the first type queries),
  • "<" (for the second type queries),
  • ">=" (for the third type queries),
  • "<=" (for the fourth type queries).
  • All values of x are integer and meet the inequation ?-?109?≤?x?≤?109. The answer is an English letter "Y" (for "yes") or "N" (for "no").

    Consequtive elements in lines are separated by a single space.

    Output

    Print any of such integers y, that the answers to all the queries are correct. The printed number y must meet the inequation ?-?2·109?≤?y?≤?2·109. If there are many answers, print any of them. If such value doesn't exist, print word "Impossible" (without the quotes).

    Sample test(s)

    input

    4
    >= 1 Y
    < 3 N
    <= -3 N
    > 55 N
    

    output

    17
    

    input

    2
    > 100 Y
    < -100 Y
    

    output

    Impossible


    题目大意:

    猜数字,给出n个区间询问,然后同时给出该区间是否正确,然后求出任何符合上述区间要求的数字.


    解法:

    先将答案范围规定为: [l,r] ;其中 l = -2*10^9 r = 2*10^9

    每次读入,更新一次上届和下届,l和r;

    读入结束后,

    l > r Impossible

    l <= r 随意输出一个区间内的数字即可

    代码:

    #include 
    #define INF 2000000000
    
    int n;
    
    int max(int a, int b) {
    	if (a > b) return(a);
    	return(b);
    }
    
    int min(int a, int b) {
    	if (a < b) return(a);
    	return(b);
    }
    
    void init() {
    	scanf("%d\n", &n);
    }
    
    void solve() {
    	int l = -INF, r = INF, x;
    	char ch1, ch2, ch3;
    
    	for (int i = 1; i <= n; i++) {
    	ch1 = getchar();
    	ch2 = getchar();
    
    	scanf("%d ", &x);
    	ch3 = getchar();
    	getchar();
    
    	if (ch3 == 'Y') {
    	if (ch1 == '>') {
    	if (ch2 == '=')
    	l = max(x, l);
    	else
    	l = max(x+1, l);
    	}
    
    	if (ch1 == '<') {
    	if (ch2 == '=')
    	r = min(r, x);
    	else
    	r = min(r, x-1);
    	}
    	}
    
    	if (ch3 == 'N') {
    	if (ch1 == '>') {
    	if (ch2 == '=')
    	r = min(r, x-1);
    	else
    	r = min(r, x);
    	}
    
    	if (ch1 == '<') {
    	if (ch2 == '=')
    	l = max(l, x+1);
    	else
    	l = max(l, x);
    	}
    	}
    
    	}
    
    	if (l <= r)
    	printf("%d", l);
    	else
    	printf("Impossible");
    }
    
    int main() {
    	init();
    	solve();
    }



    .

    下载本文
    显示全文
    专题