题目传送门
1 /* 2 题意:几个判断,车上的人不能 <0 或 > C;车上初始和结束都不能有人在 (为0);车上满员时才有等候的人 3 水题:难点在于读懂题目意思,状态不佳,一直没搞懂意思,在这题卡住了 4 主要要理解have to wait 的意思 5 */ 6 #include <cstdio> 7 #include <iostream> 8 #include <algorithm> 9 #include <cstring> 10 #include <string> 11 #include <cmath> 12 #include <set> 13 #include <map> 14 #include <queue> 15 using namespace std; 16 17 const int MAXN = 1e2 + 10; 18 const int INF = 0x3f3f3f3f; 19 int l[MAXN], e[MAXN], w[MAXN]; 20 21 int main(void) //Gym 100502K Train Passengers 22 { 23 //freopen ("K.in", "r", stdin); 24 25 int C, n; 26 27 while (scanf ("%d%d", &C, &n) == 2) 28 { 29 int i; 30 for (i=1; i<=n; ++i) 31 { 32 scanf ("%d%d%d", &l[i], &e[i], &w[i]); 33 } 34 long long sum = 0; 35 for (i=1; i<=n; ++i) 36 { 37 if (i == n && w[i] > 0) {puts ("impossible"); break;}; 38 sum -= l[i]; 39 if (sum < 0 || sum > C) {puts ("impossible"); break;}; 40 sum += e[i]; 41 if (sum < 0 || sum > C) {puts ("impossible"); break;}; 42 if (w[i] > 0 && sum < C) {puts ("impossible"); break;}; //当时没理解题意,写不出来:) 43 } 44 45 if (i > n) 46 { 47 if (sum != 0) puts ("impossible"); 48 else puts ("possible"); 49 } 50 } 51 52 return 0; 53 } 54 55 /* 56 impossible 57 possible 58 */
转载于:.html
本文发布于:2024-01-29 04:42:49,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170647457212775.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |