判断 Gym 100502K Train Passengers

阅读: 评论:0

判断 Gym 100502K Train Passengers

判断 Gym 100502K Train Passengers

 

题目传送门

 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小时内删除。

标签:Gym   Passengers   Train
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23