QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#775131#9549. The Magicianfosov#WA 16ms3836kbC++142.6kb2024-11-23 14:49:322024-11-23 14:49:34

Judging History

This is the latest submission verdict.

  • [2024-11-27 17:55:10]
  • hack成功,自动添加数据
  • (/hack/1262)
  • [2024-11-26 22:59:39]
  • hack成功,自动添加数据
  • (/hack/1259)
  • [2024-11-25 12:05:56]
  • hack成功,自动添加数据
  • (/hack/1250)
  • [2024-11-25 11:53:37]
  • hack成功,自动添加数据
  • (/hack/1249)
  • [2024-11-25 11:33:10]
  • hack成功,自动添加数据
  • (/hack/1247)
  • [2024-11-25 11:23:45]
  • hack成功,自动添加数据
  • (/hack/1246)
  • [2024-11-25 11:04:42]
  • hack成功,自动添加数据
  • (/hack/1245)
  • [2024-11-23 19:31:45]
  • hack成功,自动添加数据
  • (/hack/1244)
  • [2024-11-23 14:49:34]
  • Judged
  • Verdict: WA
  • Time: 16ms
  • Memory: 3836kb
  • [2024-11-23 14:49:32]
  • Submitted

answer

#include "bits/stdc++.h"
using namespace std;

#define ll long long 
#define INF 0x3f3f3f3f
#define LNF 0x3f3f3f3f3f3f3f3fll
#define MOD 998244353
#define pii pair<int, int>
#define vi vector<int> 
#define N 100010

int sim(int msk, vi& buk, int sh, int wild) {
    if (msk == 0) {
        int res = 0;
        vi cur = buk;
        vi ord(cur.size());
        iota(ord.begin(), ord.end(), 0);
        sort(ord.begin(), ord.end(), [&](auto& x, auto& y) {
            return cur[x] % 5 > cur[y] % 5;
        });
        for (auto x : ord) {
            int d = min(5 - (cur[x] % 5), wild);
            cur[x] += d, wild -= d;
            d = min(cur[x] % 5, sh);
            cur[x] -= d, sh -= d;
        }
        for (auto x : cur) res += x / 5;
        res -= (sh + 4) / 5;

        if (sh) return 0;
        return res;
    }

    int res = 0;
    for (int i = 0; i < 6; ++ i) {
        if ((msk >> i) & 1) {
            int cur = msk - (1 << i);
            res = max(res, sim(cur, buk, sh, wild));
            
            if (i < 4) {
                buk[i] += 3;
                res = max(res, sim(cur, buk, sh+3, wild));
                buk[i] -= 3;
            }
            
            if (i == 4) {
                for (int j = 0; j < 4; ++ j) {
                    if (!buk[j]) continue;
                    buk[j] --;
                    res = max(res, sim(cur, buk, sh, 1));
                    buk[j] ++;
                }
            }

            if (i == 5) {
                if (wild) {
                    res = max(res, sim(cur, buk, sh, wild+1));
                } else {
                    for (int j = 0; j < 4; ++ j) {
                        if (!buk[j]) continue;
                        buk[j] ++;
                        res = max(res, sim(cur, buk, sh+1, wild));
                        buk[j] --;
                    }
                }
            }
        }
    }
    return res;
}

int main() {
#ifdef TEST
    freopen("zz.in", "r+", stdin);
#endif
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    unordered_map<char, int> mp;
    mp['D'] = 0;
    mp['C'] = 1;
    mp['H'] = 2;
    mp['S'] = 3;

    int t; cin >> t;
    while (t --) {
        int n; cin >> n;
        vi buk(4, 0);
        for (int i = 0; i < n; ++ i) {
            string s; cin >> s;
            buk[mp[s[1]]] ++;
        }
        int msk = 0;
        for (int i = 0; i < 6; ++ i) {
            int x; cin >> x; msk |= (x << i);
        }

        cout << sim(msk, buk, 0, 0) << '\n';
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3544kb

input:

4
5
2H 3H 4H 5H 6D
1 1 1 1 0 0
5
2S 3S 4D 5C 6D
0 0 1 0 1 1
5
2S 3S 4D 5C 6D
0 0 1 0 1 0
13
AS 2S 3S 4S 5H 6H 7H 8H 9H TH JH QH KH
0 0 0 0 0 1

output:

1
1
0
2

result:

ok 4 lines

Test #2:

score: 0
Accepted
time: 10ms
memory: 3828kb

input:

13
10
AD 2D 3D 4D 5D 6D 7D 8D 9D TD
0 0 1 0 0 0
10
AH 2D 3D 4D 5D 6D 7D 8D 9D TD
0 0 1 0 0 0
10
AH 2H 3D 4D 5D 6D 7D 8D 9D TD
0 0 1 0 0 0
10
AH 2H 3H 4D 5D 6D 7D 8D 9D TD
0 0 1 0 0 0
10
AH 2H 3H 4H 5D 6D 7D 8D 9D TD
0 0 1 0 0 0
10
AS 2S 3S 4S 5S 6S 7S 8S 9S TS
0 1 0 0 0 0
10
AC 2S 3S 4S 5S 6S 7S 8S ...

output:

2
1
2
2
2
2
1
2
2
2
0
0
0

result:

ok 13 lines

Test #3:

score: 0
Accepted
time: 16ms
memory: 3544kb

input:

2
52
AH AD AC AS 2H 2D 2C 2S 3H 3D 3C 3S 4H 4D 4C 4S 5H 5D 5C 5S 6H 6D 6C 6S 7H 7D 7C 7S 8H 8D 8C 8S 9H 9D 9C 9S TH TD TC TS JH JD JC JS QH QD QC QS KH KD KC KS
1 1 1 1 1 1
52
AH AD AC AS 2H 2D 2C 2S 3H 3D 3C 3S 4H 4D 4C 4S 5H 5D 5C 5S 6H 6D 6C 6S 7H 7D 7C 7S 8H 8D 8C 8S 9H 9D 9C 9S TH TD TC TS JH J...

output:

10
10

result:

ok 2 lines

Test #4:

score: 0
Accepted
time: 2ms
memory: 3832kb

input:

9
12
2H TH 4C QC JH JC 8D KC 3C 6H TC 9S
0 0 0 1 0 0
11
5S 2C TH 8S JD 2S 7D AH 4S AC TS
1 0 0 0 0 0
11
QC 4C 5S QS 9H 5H 6H 7H 3D 7D 8D
1 1 1 0 1 1
11
AS AD 3D 8C 5H 2S JC 6C 8H QD JS
0 1 0 0 0 1
11
KC TH 4S 2H 8S 9S QC 3S AD KS 5D
0 0 1 0 0 1
12
4D 5H 6C 3D KH KS 3S 7S TC 4S 4C JS
0 1 0 1 1 0
12
J...

output:

1
2
2
1
2
2
2
2
2

result:

ok 9 lines

Test #5:

score: 0
Accepted
time: 0ms
memory: 3536kb

input:

10
10
5S 6S 4S 2D JD 3H JH 2H 4H 2C
1 1 0 1 0 0
11
3H 2D 6D 7S KD 6C 8H 2S 9H KH 3D
0 1 0 1 0 1
11
4D AH TS 6S TC 3S 9C 3C 5S JH TD
0 1 0 1 0 0
10
9H 3S TC TS 8S 6S TH 7D TD 5D
0 0 0 0 0 1
11
5H KS QH 4D 8H 6H QC 7H 8D JS JC
0 0 1 0 0 0
10
AD 5D TC 8D 5C 5S 8S QS 3C JD
0 0 0 1 0 1
10
TC TH 4S 8C JC ...

output:

2
2
2
1
1
2
2
1
2
2

result:

ok 10 lines

Test #6:

score: 0
Accepted
time: 0ms
memory: 3596kb

input:

2
52
4S 5H AD 9D 9C 4C 9S QD 2C JS 2D 3S 3D AC QS 5S KD 4D KH 9H TC 6C 6S 7D 7C KS 3H 6H KC JC AH 8H QH 3C QC TS 8C TH TD 4H 7S 6D 8S AS 5C JD JH 2H 5D 2S 8D 7H
0 0 0 1 1 1
52
9S JC 8S 2D 2S TS 4C 2C 6D KS 5H KD AH 5D 8C KC QH 6C 4D 9C 8H 5C 3H JH TD QS AC AS QC 6H 4H 7D QD 9D TH 4S 2H JD TC JS 7C A...

output:

10
10

result:

ok 2 lines

Test #7:

score: 0
Accepted
time: 0ms
memory: 3836kb

input:

3
35
9H JC 2H TH 7S 6D AS 4H 3D AD KS TS 2C 9S 5D 8H KD TC KH 5C QD 4S 3C 6C JS AC 2D JD 3H QH 9D 5S 6S JH 5H
0 1 0 0 1 0
34
TS 2H 4H 9D KD JC QS 6C 2D QD 2S JS 7C JH 7H 8H 4S 3C AD QC AS 7D KC 8S 2C 3S 8C 5D 5C AC TD 3H 4C 9H
0 1 1 1 0 0
35
6C 9H 3D TC 4D 3H 2S 8D AS JD 6H 2C 5D QH TD 9D 3S 5C 9C A...

output:

7
6
5

result:

ok 3 lines

Test #8:

score: 0
Accepted
time: 1ms
memory: 3760kb

input:

10
10
AC 7C 9S KD 4S 2C 2S 3D 6D 7H
1 1 0 1 0 1
10
9D AS 8S JS 6C KS 4D 3D 2S QC
0 1 0 0 0 0
10
QC 5H 5D 2S 7S 8S 3D 8C TS 8H
1 0 1 1 0 1
10
KD 7D 8S TC 3S 6C AS 4C 9H KC
1 0 0 0 0 0
11
8C 2C JS 6C QC 2H 5C 9H 3C AS 9D
1 0 1 0 1 0
10
8H 5D 5C QH JS JC 6H 4H 8C 7C
0 0 0 1 1 0
13
9H 4S 8D 3H KD TC 2D ...

output:

2
2
2
1
2
1
1
2
1
1

result:

ok 10 lines

Test #9:

score: 0
Accepted
time: 0ms
memory: 3544kb

input:

13
5
TH JH QD KD AD
1 0 0 0 0 0
5
TH JH QC KC AC
1 0 0 0 0 0
5
TH JH QS KS AS
1 0 0 0 0 0
5
TD JD QH KH AH
1 0 0 0 0 0
5
TD JD QC KC AC
1 0 0 0 0 0
5
TD JD QS KS AS
1 0 0 0 0 0
5
TC JC QH KH AH
1 0 0 0 0 0
5
TC JC QD KD AD
1 0 0 0 0 0
5
TC JC QS KS AS
1 0 0 0 0 0
5
TS JS QH KH AH
1 0 0 0 0 0
5
TS JS...

output:

1
0
0
1
1
1
0
1
0
0
1
0
8

result:

ok 13 lines

Test #10:

score: 0
Accepted
time: 0ms
memory: 3836kb

input:

13
5
TH JH QD KD AD
0 1 0 0 0 0
5
TH JH QC KC AC
0 1 0 0 0 0
5
TH JH QS KS AS
0 1 0 0 0 0
5
TD JD QH KH AH
0 1 0 0 0 0
5
TD JD QC KC AC
0 1 0 0 0 0
5
TD JD QS KS AS
0 1 0 0 0 0
5
TC JC QH KH AH
0 1 0 0 0 0
5
TC JC QD KD AD
0 1 0 0 0 0
5
TC JC QS KS AS
0 1 0 0 0 0
5
TS JS QH KH AH
0 1 0 0 0 0
5
TS JS...

output:

0
1
0
0
1
0
1
1
1
0
0
1
8

result:

ok 13 lines

Test #11:

score: 0
Accepted
time: 0ms
memory: 3488kb

input:

13
5
TH JH QD KD AD
0 0 1 0 0 0
5
TH JH QC KC AC
0 0 1 0 0 0
5
TH JH QS KS AS
0 0 1 0 0 0
5
TD JD QH KH AH
0 0 1 0 0 0
5
TD JD QC KC AC
0 0 1 0 0 0
5
TD JD QS KS AS
0 0 1 0 0 0
5
TC JC QH KH AH
0 0 1 0 0 0
5
TC JC QD KD AD
0 0 1 0 0 0
5
TC JC QS KS AS
0 0 1 0 0 0
5
TS JS QH KH AH
0 0 1 0 0 0
5
TS JS...

output:

1
1
1
1
0
0
1
0
0
1
0
0
8

result:

ok 13 lines

Test #12:

score: 0
Accepted
time: 0ms
memory: 3764kb

input:

13
5
TH JH QD KD AD
0 0 0 1 0 0
5
TH JH QC KC AC
0 0 0 1 0 0
5
TH JH QS KS AS
0 0 0 1 0 0
5
TD JD QH KH AH
0 0 0 1 0 0
5
TD JD QC KC AC
0 0 0 1 0 0
5
TD JD QS KS AS
0 0 0 1 0 0
5
TC JC QH KH AH
0 0 0 1 0 0
5
TC JC QD KD AD
0 0 0 1 0 0
5
TC JC QS KS AS
0 0 0 1 0 0
5
TS JS QH KH AH
0 0 0 1 0 0
5
TS JS...

output:

0
0
1
0
0
1
0
0
1
1
1
1
8

result:

ok 13 lines

Test #13:

score: 0
Accepted
time: 0ms
memory: 3600kb

input:

2
52
4S 7H 3C JH 3H 2H 6H 2D 8C 6S 5H KC 8S TC JS 2C 7S 6D TD 2S 9S TS 3D 9D JD 5D 8H KS AC TH 5S JC 9C 4D QC QD 6C AS 3S 7C KD 8D AH KH 7D 4H 4C 5C AD QS 9H QH
0 0 0 1 0 0
52
6D 7C 5H 2S 9S 9C TS 4H 6H 3S QS KC KH KD 5S 4C 8D 3D JD TC 8H 6C QH KS QC 3H 2H AS 9D 3C 7H 8S TD AD 9H JS TH 7S 5C 4S JC J...

output:

9
9

result:

ok 2 lines

Test #14:

score: -100
Wrong Answer
time: 0ms
memory: 3612kb

input:

3
36
TH 6D JC 7C TS 8S 6H 6S AS 4C 8H TD 4D JD KS 5S 5D 7S 7D 2S AH KD JH 3S 2C 5C 9C 8D QS 9D 4S 9S JS 6C AD 3C
0 0 0 0 1 1
34
JD 7C 5S 9S KD 2D KH 4C 8C 3S 6C 4D 5H TC 5C 7H QC 6S 9D 9H 6H 6D 3D 8D 3H 8H 2C KS 7D JH 2S JC 3C QD
0 0 1 1 0 0
34
KC 6D 5S TD 2D 4D AD QH 2C 6H 5C QD 8H 8S 2H TH 4H AS J...

output:

7
6
7

result:

wrong answer 3rd lines differ - expected: '6', found: '7'