2020杭电第二场1010题-无须映射

插入vector后用vector.size排个序就能省掉映射啦

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
const int N=55;

struct node{
    int a,b,c,d;
    node(int a,int b,int c,int d):a(a),b(b),c(c),d(d){}
};
ll ans=0;
vector<node> val[N];
bool cmp(vector<node> a,vector<node> b){
    return a.size()>b.size();
}

void dfs(int x,int a,int b,int c,int d){
    if(val[x].size()==0){
        ll tmp = (ll)a*b*c*d;
        ans=max(tmp,ans);
        return ;
    }
    for(int i=0;i<val[x].size();i++)
        dfs(x+1,a+val[x][i].a,b+val[x][i].b,c+val[x][i].c,d+val[x][i].d);
}

int main()
{
    int T;cin>>T;while(T--){
        int n,m;
        cin>>n>>m;
        ans=0;
        for(int i=0;i<N;i++)val[i].clear();
        for(int i=0,k,a,b,c,d;i<n;i++){
            cin>>k>>a>>b>>c>>d;
            node t={a,b,c,d};
            val[k].push_back(t);
        }
        sort(val+1,val+m+1,cmp);
        dfs(1,100,100,100,100);
        cout<<ans<<endl;
    }
    return 0;
}
全部评论

相关推荐

11-15 19:28
已编辑
蚌埠坦克学院 硬件开发
点赞 评论 收藏
分享
10-17 10:05
已编辑
北华大学 全栈开发
牛客872465272号:掉头发了哥
点赞 评论 收藏
分享
有没有经济学家能告诉我,三年后中国的就业市场会不会好转?我在校招中拿到了一份9k+的offer,还是行业的龙头企业,心里其实不想再考研了。但又总是担心,万一读研后薪资更高,我会不会后悔呢?
Fyhyuky:三年后肯定不会啊,只会比现在更烂,你自己看看现在有没有什么增长点,电车都是国家补贴兜底才发展出来的,已经比较违背市场自然规律了,互联网更不用说了,国家强力打压,传统制造业转型失败,现在苟延残喘中
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务