1 条题解

  • 0
    @ 2025-9-9 23:54:49

    C++ :

    #include<stdio.h>
    #include <algorithm>
    using namespace std;
    typedef struct node
    {
    	int len,wei;
    };
    int cc( const node& a, const node& b ) {  
        return ( a.len < b.len || ( a.len == b.len && a.wei < b.wei ) );  
    }  
    int main()
    {
    	int t;scanf("%d",&t);
    	while(t--)
    	{
    		int n;scanf("%d",&n);
    		node k[5000];
    		int as[5000]={0};
    		for (int i=0;i<n;i++)
    			scanf("%d%d",&k[i].len,&k[i].wei);
    		sort(k,k+n,cc);
    		int sum=0;
    		for (int i=0;i<n;i++)
    			if(!as[i])
    			{
    				sum++;
    				as[i]=1;
    				int ww=k[i].wei;
    				for (int kk=i+1;kk<n;kk++)
    					if (!as[kk]&&k[kk].wei>=ww)
    					{
    						as[kk]=1;
    						ww=k[kk].wei;
    					}
    			}
    			printf("%d\n",sum);
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    1832
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者