Wooden Sticks

来源:互联网 发布:淘宝新疆昆仑雪菊 编辑:程序博客网 时间:2024/06/01 10:08

依然和前几个一样作为最简单的贪心,不在多说


注意第二条是标准在一直都改变...

#include <iostream>#include <string>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;struct T{int length,weight;}a[5010];bool cmp(T a,T b){if(a.length!=b.length) return a.length<b.length;return a.weight<b.weight;}int main (){int Case,temp;scanf("%d ",&Case);while(Case--){    int mark[5010]={0};        int n,sum=0;        scanf("%d",&n);    for(int i=0;i<n;i++)   scanf("%d%d",&a[i].length,&a[i].weight);   sort(a,a+n,cmp);   int j=n,now=0;   while(n>0){       for(int i=now;;i++)       if(mark[i]==0) {   now=i;   n--;   mark[i]=1;    break;  }  int temp=now;       for(int i=now+1;i<j;i++)            if( a[i].length>=a[now].length && a[i].weight>=a[now].weight && mark[i]==0 )  mark[i]=1,n--,now=i;   //注意now的不断调整   sum++;   now=temp; }     printf("%d\n",sum);}return 0;}

0 0
原创粉丝点击