2020杭电多校第二场

Posted likunhong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020杭电多校第二场相关的知识,希望对你有一定的参考价值。

1010.Lead of Wisdom

暴搜。。。我去除了比某一同类装备4个属性都低的装备

技术图片
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i, a, b) for (register int i = a; i <= b; i++)

typedef struct clo
{
    int a, b, c, d;
} cloth;
int n, k, A, B, C, D, T;
ll ans;
vector<cloth> p[55];
void dfs(int x, int a, int b, int c, int d)
{
    while (x <= k && p[x].empty())
        x++;
    if (x > k)
    {
        ans = max(ans, 1ll * a * b * c * d);
        return;
    }
    for (vector<cloth>::iterator it = p[x].begin(); it != p[x].end(); it++)
        dfs(x + 1, a + (*it).a, b + (*it).b, c + (*it).c, d + (*it).d);
}
inline void solve()
{

    cin >> n >> k;
    rep(i, 1, k) p[i].clear();
    ans = 100000000;
    rep(i, 1, n)
    {
        cin >> T >> A >> B >> C >> D;
        int flag = 1;
        for (vector<cloth>::iterator it = p[T].begin(); it != p[T].end(); it++)
        {
            if (A <= (*it).a && B <= (*it).b && C <= (*it).c && D <= (*it).d)
            {
                flag = 0;
                break;
            }
        }
        if (flag)
            p[T].push_back({A, B, C, D});
    }
    dfs(1, 100, 100, 100, 100);
    cout << ans << endl;
}

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int t = 1;
    cin >> t;
    while (t--)
    {
        solve();
    }
}
View Code

 

以上是关于2020杭电多校第二场的主要内容,如果未能解决你的问题,请参考以下文章

2020杭电多校第二场 1006.The Oculus

[2020杭电多校第二场]1005 New Equipments(费用流)

2018杭电多校第二场1003(DFS,欧拉回路)

2022杭电多校第二场 A.Static Query on Tree(树剖)

2022杭电多校第二场 A.Static Query on Tree(树剖)

2022杭电多校第二场 A.Static Query on Tree(树剖)