A 不等式
描述
给定n个关于X的不等式,问最多有多少个成立。
每个不等式为如下的形式之一:
X < C
X <= C
X = C
X > C
X >= C
输入
第一行一个整数n。
以下n行,每行一个不等式。
数据范围:
1<=N<=50,0<=C<=1000
输出
一行一个整数,表示最多可以同时成立的不等式个数。
样例输入
4
X = 1
X = 2
X = 3
X > 0
样例输出
2
题目类型:暴力枚举
算法分析:由于C的范围为[0,1000],则此时可以从-1~2000枚举X,然后计算满足条件的等式的数量
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
#pragma comment(linker, "/STACK:102400000,102400000") #include <set> #include <bitset> #include <list> #include <map> #include <stack> #include <queue> #include <deque> #include <string> #include <vector> #include <ios> #include <iostream> #include <fstream> #include <sstream> #include <iomanip> #include <algorithm> #include <utility> #include <complex> #include <numeric> #include <functional> #include <cmath> #include <ctime> #include <climits> #include <cstdarg> #include <cstdio> #include <cstdlib> #include <cstring> #include <cctype> #include <cassert> using namespace std; #define CFF freopen ("aaa.txt", "r", stdin) #define CPPFF ifstream cin ("aaa.txt") #define LL long long #define ULL unsigned long long #define DB(ccc) cout << #ccc << " = " << ccc << endl const int INF = 0x7FFFFFFF; const int MOD = 1e9 + 7; const double EPS = 1e-10; const double PI = 2 * acos (0.0); const int maxn = 1e3 + 66; int aa[maxn]; char s[maxn][6]; int main() { // CFF; int n; scanf ("%d", &n); char sa; for (int i = 1; i <= n; i++) scanf (" %c %s %d", &sa, s[i], &aa[i]); int maxval = -INF, tt; for (double i = -1; fabs (i - 2100) > EPS; i += 0.5) { tt = 0; for (int j = 1; j <= n; j++) { if (!strcmp (s[j], "=") && fabs (i - aa[j]) < EPS) tt++; if (!strcmp (s[j], ">") && i > aa[j] + EPS) tt++; if (!strcmp (s[j], ">=") && (fabs (i - aa[j]) < EPS || (i > aa[j] + EPS))) tt++; if (!strcmp (s[j], "<") && i + EPS < aa[j]) tt++; if (!strcmp (s[j], "<=") && (fabs (i - aa[j]) < EPS || (i + EPS < aa[j]))) tt++; } maxval = max (maxval, tt); } printf ("%d\n", maxval); return 0; } |