poj-3614 Sunscreen

版权声明:最后一年,加油~ https://blog.csdn.net/zzti_xiaowei/article/details/81814645

[题目链接]

思路:一开始想的就是让SPF小的防晒霜给maxSPF小的牛,思路是对的,可是自己用模拟写的,有bug!这题和活动安排一类的题目好像好像~~~

代码:

// WA代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int Max_n=3000;

int c,l;
struct cow{
    int a,b;
    bool operator<(const cow& c)const {
        if(b!=c.b)return b<c.b;
        return a<c.a;
    }
}co[Max_n];
struct lotion{
    int a,b;
    bool operator<(const lotion& l)const {
        return a<l.a;
    }
}lo[Max_n];

int main()
{
    scanf("%d%d",&c,&l);
    for(int i=0;i<c;i++)scanf("%d%d",&co[i].a,&co[i].b);
    for(int i=0;i<l;i++)scanf("%d%d",&lo[i].a,&lo[i].b);
    sort(co,co+c);
    sort(lo,lo+l);
    int i=0,j=0,sum=0;
    while(i<c&&j<l){
        if(!lo[j].b||lo[j].a<co[i].a)j++;
        else if(lo[j].a>co[i].b)i++;
        else {
            sum++;i++;
            lo[j].b--;
        }
    }
    printf("%d\n",sum); 
    return 0;
}
// 2 1
// 4 5 
// 1 6 
// 1 1
//AC代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<algorithm>
using namespace std;
const int Max_n=3000;

int c,l;
struct cow{
    int a,b;
    bool operator<(const cow& c)const {
        if(a!=c.a)return a<c.a;
        return b<c.b;
    }
}co[Max_n];
struct lotion{
    int a,b;
    bool operator<(const lotion& l)const {
        return a<l.a;
    }
}lo[Max_n];

int main()
{
    scanf("%d%d",&c,&l);
    for(int i=0;i<c;i++)scanf("%d%d",&co[i].a,&co[i].b);
    for(int i=0;i<l;i++)scanf("%d%d",&lo[i].a,&lo[i].b);
    sort(co,co+c);
    sort(lo,lo+l);
    int sum=0,i=0;
    priority_queue<int,vector<int>,greater<int> >que;
    for(int j=0;j<l;j++){
        while(i<c&&co[i].a<=lo[j].a){
            que.push(co[i].b);
            i++;
        }
        while(!que.empty()&&lo[j].b){
            int f=que.top();que.pop();
            if(f>=lo[j].a){
                sum++;lo[j].b--;
            }
        }
    }
    printf("%d\n",sum); 
    return 0;
}

猜你喜欢

转载自blog.csdn.net/zzti_xiaowei/article/details/81814645