A. Guess a number!
来源:互联网 发布:黄金宝软件 编辑:程序博客网 时间:2024/06/11 18:16
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".
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.
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).
4>= 1 Y< 3 N<= -3 N> 55 N
17
2> 100 Y< -100 Y
Impossible
解题说明:此题就是找好两个区间即可,通过输入条件判断区间的前后端。
#include<iostream>#include<cstdio>#include<cmath>#include<cstdlib>#include <algorithm>#include<cstring>#include<string>using namespace std;int main(){int begin,end,t,i,temp;int bb, ee;string op;string flag;begin = -2000000000;end = 2000000000;cin >> t;for (i = 0; i < t; i++){cin >> op >> temp >> flag;if (flag=="Y"){if (op == ">="){bb = temp;if (begin < bb){begin = bb;}}else if (op == "<="){ee = temp;if (end>ee){end = ee;}}else if (op == ">"){bb = temp + 1;if (begin < bb){begin = bb;}}else{ee = temp - 1;if (end>ee){end = ee;}}}else{if (op == ">="){ee = temp-1;if (end>ee){end = ee;}}else if (op == "<="){bb = temp+1;if (begin < bb){begin = bb;}}else if (op == ">"){ee = temp ;if (end>ee){end = ee;}}else{bb = temp ;if (begin < bb){begin = bb;}}}}if (begin > end){cout << "Impossible" << endl;}else{cout << begin << endl;}return 0;}
- A. Guess a number!
- cf Guess a number!
- codeforces Guess a number!
- A. Guess a number!(cf)
- CodeForces 416A Guess a number!
- Codeforces 416A Guess a number! 题解
- Guess a number!(判断简单题)
- A: Guess
- Codeforces Round #241 (Div. 2) A. Guess a number!
- codeforces 416 A. Guess a number!(简单模拟题)
- Codeforces 416A Guess a number!(水题)
- Codeforces Round #241 (Div. 2)-A. Guess a number!
- zoj 3639 Guess a Function
- 猜数字小游戏(Guess a number between 1 and 1000)
- Number-Guess
- a letter and a number
- a letter and a number
- a letter and a number
- python 函数装饰器学习
- iOS 开发百问
- css的三种选择器
- 真心不爱做网站
- 每日算法之七:Reverse Integer
- A. Guess a number!
- 程序的模块化的一些见解2
- ORA-00060: Deadlock detected
- ARM的MMU简介
- python 函数的*args,**kwargs
- iOS学习笔记 5 —— 获取当前连接的Wi-fi信息
- 关于INPUT的autocomplete="off" 属性(浏览器表单默认的记忆功能)
- 编程建议
- Acivity各种情况下生命周期整理