比赛 2026.9.5 评测结果 TTTTTWWWWWWTTTT
题目名称 Pretty Pens 最终得分 0
用户昵称 wmlsxzh 运行时间 28.103 s
代码语言 C++ 内存使用 24.26 MiB
提交时间 2026-09-05 11:23:14
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
#define MAXN 200005
int n,m,q;
vector<bool> vis[MAXN];
vector<int> pen[MAXN];
int f(int i,bool rev){
    if(i==m+1)return 0;
    int p1=0,midx=0;
    for(size_t k=0;k<pen[i].size();++k){
        bool v = vis[i][k];
        if(v)continue;
        int p = pen[i][k];
        if(p>p1){
            p1=p;
            midx=k;
        }
    }
    vis[i][midx]=true;
    p1 = p1+f(i+1,rev);
    vis[i][midx]=false;
    int p2=0;
    if(!rev){
        rev=true;
        for(int k=1;k<=m;++k){
            if(k==i)continue;
            for(size_t j=0;j<pen[k].size();++j){
                bool v = vis[k][j];
                if(v)continue;
                int p = pen[k][j];
                vis[k][j]=true;
                p2=max(p2,p+f(i+1,rev));
                vis[k][j]=false;
            }
        }
        rev=false;
    }
    return max(p1,p2);
}
int main(){
    freopen("Pens.in","r",stdin);
    freopen("Pens.out","w",stdout);
    scanf("%d %d %d",&n,&m,&q);
    for(int i=0;i<n;++i){
        int iii,kkk;
        scanf("%d %d",&iii,&kkk);
        pen[iii].push_back(kkk);
        vis[iii].push_back(false);
    }
//    for(int i=0;i<=q;++i){
//        int sg,oi,xy;
//        scanf("%d %d %d",&sg,&oi,&xy);
//        if(sg==1){
//            
//        }
//    }
    int res=f(1,0);
    printf("%d",res);
    return 0;
}