最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

codeforcesRound#241(div2)A解题报告

来源:懂视网 责编:小采 时间:2020-11-09 08:02:28
文档

codeforcesRound#241(div2)A解题报告

codeforcesRound#241(div2)A解题报告: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
推荐度:
导读codeforcesRound#241(div2)A解题报告: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 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();
    }



    .

    声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    codeforcesRound#241(div2)A解题报告

    codeforcesRound#241(div2)A解题报告: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
    推荐度:
    标签: aa 解题 round
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top