1008-I

同1001-B题

1.题目编号:1008-I

2.简单题意:输入n,代表会输入n组数据;再输入m,表示会有m组木板的长与重量的数据。输入一些数据,如果其中的一组数据长l重量w,在所有数据中有比l,w小于等于的数据,那么这组数据可以忽略不计,否则需要1分钟时间。

3.解题思路形成过程:题意说不出来,打个比方:输入1组数据,有4组长与重量的数据分别为,(4 ,9 )(5 ,2)(3 ,5)( 1, 4),用sort将它们从小到大排序,(1 4),( 3 5), (4 9),( 5 2) ,然后用最普通的方法一个一个判断,现将他们进行标记0,如果可以忽略就标记1,(1 4),( 3 5), (4 9),为一组,时间增加1分钟,( 5 2)为一分钟,所以共2分钟。

4.感想:昨天这道题提交了5、6次,都是wa,那时觉得还很对,看了很多遍都觉得没问题,测试数据也过了,可是提交就是wa,当时真怀疑网站出了问题,一直看到晚上很晚,程序也没啥错,就不明白怎么就不对了,当我再去把题看一遍的时候我才知道,题意都看错了,虽然碰巧测试数据正确了,但是提交就不会过了,真心觉得英语是硬伤,看不懂题意真要命,看来要加强英语学习了。

 5.AC代码:

#include<iostream>
#include <algorithm>
using namespace std;

struct jm
{
    int l,w,jih;
}x[5005];

bool cmp(jm a, jm b)
{   if(a.l < b.l)
        return true ;
    if(a.l == b.l&&a.w < b.w)
        return true ;
    else
        return false;
}

int main()
{
    int n,m,all,a;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>m;
        all=0;
        for(int j=0;j<m;j++)
        {
            cin>>x[j].l>>x[j].w;
            x[j].jih=0;
        }
        sort(x,x+m,cmp);
                    //  for(int j=0;j<m;j++)   cout<<x[j].l<<x[j].w<<" ";
        for(int j=0;j<m;j++)
        {
            if(x[j].jih==0)
            {
                x[j].jih=1;
                all++;
                a=x[j].w;
                for(int k=j+1;k<m;k++)
                {
                    if(x[k].w>=a&&x[k].jih==0)
                       {
                        x[k].jih=1;
                        a=x[k].w;
                       }
                }
            }
         }
         cout<<all<<endl;
     }
      return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值