题目地址: http://poj.org/problem?id=3614
采用贪心策略,先将cow按minspf值递增排序,即优先考虑minspf更小的牛
再将防嗮霜按spf值递增排序
#include<iostream> #include<algorithm> using namespace std; //先将cow按minspf值递增排序,即优先考虑minspf更小的牛 //在将防嗮霜按spf值递增排序 // struct Cow{ int minSpf; int maxSpf; friend bool operator <(Cow a,Cow b){ return a.minSpf>b.minSpf; } }cow[2500+10]; struct Slotion{ int num; int spf; friend bool operator<(Slotion a,Slotion b){ return a.spf>b.spf; } }slot[2500+10]; int c,l; int main(){ int i,j; cin>>c>>l; for(i=0;i<c;i++) { cin>>cow[i].minSpf>>cow[i].maxSpf; } for(j=0;j<l;j++) { cin>>slot[j].spf>>slot[j].num; } sort(cow,cow+c); sort(slot,slot+l); int ans=0; for(i=0;i<c;i++) { for(j=0;j<l;j++) { if(slot[j].num>0&&slot[j].spf>=cow[i].minSpf&&slot[j].spf<=cow[i].maxSpf) { slot[j].num--; ans++; break; } } } cout<<ans<<endl; return 0; }
POJ 3614 Sunscreen
猜你喜欢
转载自www.cnblogs.com/-xinxin/p/10485347.html
今日推荐
周排行