模拟 之 Codeforces 416A

//  [4/13/2014 Sjm]
/*
关键: 寻找 左右区间,判断此区间是否合理。
*/
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstdlib>
 4 #include <string>
 5 #include <algorithm>
 6 using namespace std;
 7 const int MAX = 2000000000, MIN = -2000000000;
 8 
 9 int main()
10 {
11     //freopen("input.txt", "r", stdin);
12     //freopen("output.txt", "w", stdout);
13     int n, lef = MIN, rig = MAX, temp;
14     string str;
15     char c;
16     scanf("%d", &n);
17     while (n--)
18     {
19         cin >> str;
20         scanf("%d %c", &temp, &c);
21         if ('N' == c) {
22             if (">" == str) str = "<=";
23             else {
24                 if ("<" == str) str = ">=";
25                 else {
26                     if ("<=" == str) str = ">";
27                     else str = "<";
28                 }
29             }
30         }
31         if (">" == str) lef = max(lef, temp + 1);
32         else {
33             if ("<" == str) rig = min(rig, temp - 1);
34             else {
35                 if (">=" == str) lef = max(lef, temp);
36                 else rig = min(rig, temp);
37             }
38         }
39     }
40     if (lef > rig) printf("Impossible\n");
41     else printf("%d\n", lef);
42     return 0;
43 }
 
posted @ 2014-04-13 23:56  JmingS  阅读(211)  评论(0编辑  收藏  举报