文章
34
粉丝
329
获赞
16
访问
304.2k
#include <stdio.h>
#include <stdlib.h>
struct station
{
    int A;
    int B;
    int num;
}a[20];
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    int i,j,t,w,e,y;
    for(i=0;i<n;i++)
    {
        scanf("%d%d%d",&a[i].A,&a[i].B,&a[i].num);
    }
    for(i=0;i<n;i++)
    {
    if(i==0)
    {
            if(a[i].num<m)printf("1\n");
            else {printf("0\n");a[i].num=0; }//如果不行,要直接注销为零,这样不影响后面比较。
    }
    if(i>0)
    { w=e=i;
      t=a[w].num;
      y=1;
          for(j=0;j<e;j++)//因为之后,每一次都要和前面所有比较,所以有i次循环(e=i)
        {
            if(a[w].A<=a[w-y].B&&a[w].A>=a[w-y].A||a[w].B<=a[w-y].B&&a[w].B>=a[w-y].A)
            {
                t=t+a[w-1].num;
                 w--;
            }
            else y++;
        }
        if(t>m){printf("0\n");a[e].num=0; }
       if(t<=m) printf("1\n");
    }
    }
    return 0;
}
登录后发布评论
暂无评论,来抢沙发