QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#53569#1862. Texas Hold 'emnot_so_organicAC ✓2585ms6652kbC++118.4kb2022-10-05 13:28:502022-10-05 13:28:51

Judging History

This is the latest submission verdict.

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-10-05 13:28:51]
  • Judged
  • Verdict: AC
  • Time: 2585ms
  • Memory: 6652kb
  • [2022-10-05 13:28:50]
  • Submitted

answer

#include <iostream>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <cmath>
#include <fstream>
#include <assert.h>
#include <random>
#include <list>
#include <cmath>
#include <chrono>
#include <random>

using namespace std;


/*
int higher_card[13][13][13][13][13];
int pair[13][13][13][13];
int two_pair[13][13][13][13];
int three[13][13][13];
int straight[10];
int flush[13][13][13][13][13];
int full[13][13];
int four[13][13];
int straigh_flush[13][13][13][13][13];
*/

int power[13][13][13][13][13][2];

int kek[200];
int unkek[200];

vector<int> v;
int ind = 0;

void go(int x)
{
    sort(v.begin(),v.end());
    do{
        power[v[0]][v[1]][v[2]][v[3]][v[4]][x] = ind;
    }while(next_permutation(v.begin(),v.end()));
    ++ind;
}

const vector<vector<int> > perms = {
    {0, 1, 2, 3, 4},
    {0, 1, 2, 3, 5},
    {0, 1, 2, 3, 6},
    {0, 1, 2, 4, 5},
    {0, 1, 2, 4, 6},
    {0, 1, 2, 5, 6},
    {0, 1, 3, 4, 5},
    {0, 1, 3, 4, 6},
    {0, 1, 3, 5, 6},
    {0, 1, 4, 5, 6},
    {0, 2, 3, 4, 5},
    {0, 2, 3, 4, 6},
    {0, 2, 3, 5, 6},
    {0, 2, 4, 5, 6},
    {0, 3, 4, 5, 6},
    {1, 2, 3, 4, 5},
    {1, 2, 3, 4, 6},
    {1, 2, 3, 5, 6},
    {1, 2, 4, 5, 6},
    {1, 3, 4, 5, 6},
    {2, 3, 4, 5, 6},
};

class hand{
public:
    vector<pair<char, char> > v;

    hand(char a,char b, char c,char d)
    {
        v.resize(7);
        v[0] = {a,b};
        v[1] = {c,d};
    }

    int rank(){
        int mx = 0;
        for (auto &p:perms){
            bool straight = (v[p[0]].second == v[p[1]].second) && (v[p[0]].second == v[p[2]].second) && (v[p[0]].second == v[p[3]].second) && (v[p[0]].second == v[p[4]].second);
            mx = max(mx, power[v[p[0]].first][v[p[1]].first][v[p[2]].first][v[p[3]].first][v[p[4]].first][straight]);
        }
        return mx;
    }

};

long long int gcd(long long int a, long long int b)
{
    if (!b)
        return a;
    return gcd(b,a%b);
}

int main()
{
    assert(perms.size() == 21);
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    kek['2'] = 0;unkek[0] = '2';
    kek['3'] = 1;unkek[1] = '3';
    kek['4'] = 2;unkek[2] = '4';
    kek['5'] = 3;unkek[3] = '5';
    kek['6'] = 4;unkek[4] = '6';
    kek['7'] = 5;unkek[5] = '7';
    kek['8'] = 6;unkek[6] = '8';
    kek['9'] = 7;unkek[7] = '9';
    kek['T'] = 8;unkek[8] = 'T';
    kek['J'] = 9;unkek[9] = 'J';
    kek['Q'] = 10;unkek[10] = 'Q';
    kek['K'] = 11;unkek[11] = 'K';
    kek['A'] = 12;unkek[12] = 'A';

    for (int i=0;i<13;i++){
        for (int j=0;j<i;j++){
            for (int k=0;k<j;k++){
                for (int l=0;l<k;l++){
                    for (int m=0;m<l;m++){
                        if (i-4 == m)
                            continue;
                        if (i == 12 && j == 3 && k == 2 && l == 1 && m == 0)
                            continue;
                        v = {i,j,k,l,m};
                        go(0);
                    }
                }
            }
        }
    }

    for (int i=0;i<13;i++)
    {
        for (int j=0;j<13;j++)
        {
            for (int k=0;k<j;k++)
            {
                for (int l=0;l<k;l++)
                {
                    if (i != j && i != k && i != j && i != l){
                        v = {i,i,j,k,l};
                        go(0);
                    }
                }
            }
        }
    }

    for (int i=0;i<13;i++)
    {
        for (int j=0;j<i;j++)
        {
            for (int k=0;k<13;k++)
            {
                if (i != k && j != k)
                {
                    v = {i,i,j,j,k};
                    go(0);
                }
            }
        }
    }

    for (int i=0;i<13;i++)
    {
        for (int j=0;j<13;j++)
        {
            for (int k=0;k<j;k++)
            {
                if (i!=j && i!=k)
                {
                    v = {i,i,i,j,k};
                    go(0);
                }
            }
        }
    }

    v = {12,3,2,1,0};
    go(0);
    for (int i=4;i<13;i++)
    {
        v = {i,i-1,i-2,i-3,i-4};
        go(0);
    }

    for (int i=0;i<13;i++){
        for (int j=0;j<i;j++){
            for (int k=0;k<j;k++){
                for (int l=0;l<k;l++){
                    for (int m=0;m<l;m++){
                        if (i-4 == m)
                            continue;
                        if (i == 12 && j == 3 && k == 2 && l == 1 && m == 0)
                            continue;
                        v = {i,j,k,l,m};
                        go(1);
                    }
                }
            }
        }
    }

    for (int i=0;i<13;i++)
    {
        for (int j=0;j<13;j++)
        {
            if (i!=j){
                v = {i,i,i,j,j};
                go(0);
            }
        }
    }

    for (int i=0;i<13;i++)
    {
        for (int j=0;j<13;j++)
        {
            if (i!=j){
                v = {i,i,i,i,j};
                go(0);
            }
        }
    }

    v = {12,3,2,1,0};
    go(1);
    for (int i=4;i<13;i++)
    {
        v = {i,i-1,i-2,i-3,i-4};
        go(1);
    }

    int t;
    cin >> t;
    while(t--)
    {
        set<pair<char,char> > deck_set;
        for (int i=0;i<13;i++)
        {
            for (int j=0;j<4;j++)
            {
                deck_set.insert({i,j});
            }
        }

        int w,m;
        cin >> w >> m;

        vector<char> input;

        for (int i=0;i<4;i++)
        {
            int a;
            char b;
            cin >> a >> b;
            b = kek[b];
            input.push_back(a);
            input.push_back(b);
            deck_set.erase({b,char(a)});
        }

        vector<pair<char,char> > deck(deck_set.begin(), deck_set.end());

        hand A(input[1], input[0], input[3], input[2]);
        hand B(input[5], input[4], input[7], input[6]);

        int win_a = 0, draw = 0, win_b = 0;


        for (int i=4;i<48;i++)
        {
            A.v[2]=deck[i];
            B.v[2]=deck[i];
            for (int j=3;j<i;j++)
            {
            A.v[3]=deck[j];
            B.v[3]=deck[j];
                for (int k=2;k<j;k++)
                {
            A.v[4]=deck[k];
            B.v[4]=deck[k];
                    for (int l=1;l<k;l++)
                    {
            A.v[5]=deck[l];
            B.v[5]=deck[l];
                        for (int z=0;z<l;z++)
                        {
            A.v[6]=deck[z];
            B.v[6]=deck[z];
                            int ra = A.rank();
                            int rb = B.rank();
                            if (ra > rb){
                                ++win_a;
                                //cout << "win_a ";
                                //for (auto x:A.v){
                                //    cout << unkek[x.first] << cdhs[x.second]
                                //}
                            }
                            else if (ra == rb)
                                ++draw;
                            else
                                ++win_b;
                        }
                    }
                }
            }
        }

        int total = win_a+win_b+draw;

        if (win_a == win_b) {
            cout << m+w << "/" << 1 << endl;
        } else if (win_a > win_b) {
            long long int fold = -w * 1ll * total;
            long long int all_in = (- w - m) * 1ll * (win_a - win_b);

            if (fold > all_in){
                cout << m+w+w << "/" << 1 << endl;
            } else {
                long long int nom = (m+w)*1ll*total + (m+w)*1ll*(win_a-win_b);
                long long int denom = total;
                long long g = gcd(nom, denom);
                cout << nom/g << "/" << denom/g << endl;
            }
        } else {
            long long int fold = -w * 1ll * total;
            long long int all_in = (- w - m) * 1ll * (win_b - win_a);


            if (fold > all_in){
                cout << m << "/" << 1 << endl;
            } else {
                long long int nom = (m+w)*1ll*total + (m+w)*1ll*(win_a-win_b);
                long long int denom = total;
                long long g = gcd(nom, denom);
                cout << nom/g << "/" << denom/g << endl;
            }
        }
    }

    return 0;
}



Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 508ms
memory: 6484kb

input:

2
10 10
0 A
1 A
2 A
3 A
10 10
0 A
1 Q
2 K
2 J

output:

20/1
557855/23782

result:

ok 2 tokens

Test #2:

score: 0
Accepted
time: 2477ms
memory: 6420kb

input:

10
47 40
3 K
0 K
2 6
3 7
13 25
1 2
3 Q
3 3
3 2
16 50
0 2
3 6
1 Q
0 J
0 23
0 2
1 6
1 3
1 T
33 45
2 4
1 T
0 9
3 4
9 23
3 K
3 8
2 6
1 5
45 12
3 J
2 9
3 6
3 3
12 31
1 5
3 8
2 5
0 8
8 23
1 A
0 K
1 3
3 7
42 32
0 7
0 Q
2 A
0 3

output:

134/1
51/1
50/1
23/1
111/1
41/1
20557411/285384
43/1
39/1
55274707/856152

result:

ok 10 tokens

Test #3:

score: 0
Accepted
time: 2553ms
memory: 6596kb

input:

10
16 47
2 3
2 A
0 7
1 5
16 5
3 K
1 7
3 7
2 J
7 33
2 K
0 3
1 4
0 A
19 19
0 A
0 J
3 6
3 5
48 11
1 A
0 4
0 6
1 2
0 17
3 K
0 Q
0 7
0 A
46 4
3 4
1 3
2 6
3 7
39 42
2 3
0 J
3 9
1 9
27 29
3 5
3 6
0 4
2 A
42 50
1 T
2 Q
2 8
2 5

output:

153069/2024
17664367/570768
33/1
1099853/23782
129902365/1712304
17/1
15429725/428076
8701065/190256
11122895/214038
1080407/9306

result:

ok 10 tokens

Test #4:

score: 0
Accepted
time: 2484ms
memory: 6540kb

input:

10
8 50
3 A
2 A
1 J
1 4
31 9
2 2
0 2
0 7
1 3
38 40
2 Q
1 J
3 J
3 8
8 7
1 2
0 6
2 T
0 3
47 8
1 3
1 T
0 2
2 T
5 27
0 6
0 T
1 4
1 3
46 11
0 7
3 K
1 6
0 8
10 6
3 6
0 4
2 7
3 7
39 44
2 Q
0 Q
3 9
2 6
22 22
3 A
3 T
0 8
3 7

output:

66/1
4514045/107019
10270143/95128
2152795/190256
4786585/77832
37/1
19643891/285384
6/1
122/1
733921/12972

result:

ok 10 tokens

Test #5:

score: 0
Accepted
time: 2496ms
memory: 6480kb

input:

10
39 38
3 8
0 4
0 2
0 A
33 24
2 J
2 4
3 T
0 Q
7 46
2 2
0 7
3 6
0 5
31 50
3 K
2 5
3 J
2 Q
1 31
2 8
2 4
1 8
0 J
28 14
1 A
1 Q
2 A
0 K
41 45
0 8
3 5
3 3
3 2
19 2
1 9
1 4
3 6
3 2
45 35
1 Q
2 2
3 3
2 A
4 9
2 K
1 Q
1 4
0 3

output:

9321781/155664
24480151/570768
31475269/570768
17254161/190256
31/1
2418507/95128
30398033/285384
14535815/570768
5956190/107019
1792882/107019

result:

ok 10 tokens

Test #6:

score: 0
Accepted
time: 2525ms
memory: 6484kb

input:

10
29 4
2 K
3 6
0 T
1 K
18 30
1 K
2 A
3 7
3 2
7 31
0 9
1 5
2 5
2 7
19 44
1 2
1 3
2 6
3 6
11 37
1 5
0 8
0 9
2 Q
38 48
1 A
0 2
3 4
3 3
37 1
2 2
2 5
0 T
0 A
2 34
2 8
1 5
2 A
3 2
37 31
0 5
3 2
0 9
1 2
10 15
3 6
1 Q
2 9
1 3

output:

490973/25944
2151841/35673
45/1
44/1
37/1
80022527/856152
57247/2068
34/1
1006655/23782
6844025/214038

result:

ok 10 tokens

Test #7:

score: 0
Accepted
time: 2528ms
memory: 6548kb

input:

10
22 18
2 2
2 6
2 J
1 7
23 29
3 3
1 3
2 A
0 K
8 32
1 9
0 2
3 J
2 T
14 17
1 A
1 6
2 3
0 6
9 32
3 K
1 9
0 9
3 7
23 33
0 9
2 J
2 T
3 T
30 47
3 8
3 Q
1 K
1 Q
9 7
3 3
1 5
2 8
1 T
7 45
2 K
1 4
2 Q
3 K
25 41
3 3
0 A
0 4
2 Q

output:

3070685/107019
5984797/107019
32/1
45/1
50/1
33/1
47/1
108733/9729
45/1
87555/1081

result:

ok 10 tokens

Test #8:

score: 0
Accepted
time: 2526ms
memory: 6480kb

input:

10
37 14
3 7
2 9
3 6
3 4
0 27
3 T
1 7
1 3
1 5
5 30
0 2
3 6
3 3
2 6
21 14
1 Q
1 2
2 K
2 6
8 39
1 7
2 T
0 5
1 5
49 49
0 T
0 4
3 4
0 5
5 17
1 2
3 4
3 2
2 6
31 47
1 9
0 K
1 5
2 A
6 7
1 2
3 5
2 7
0 5
4 34
0 9
3 2
2 7
3 T

output:

12091165/190256
27/1
55886075/1712304
3779965/142692
1623299/36432
57432949/428076
17/1
3056443/47564
14414413/1712304
34/1

result:

ok 10 tokens

Test #9:

score: 0
Accepted
time: 2483ms
memory: 6572kb

input:

10
1 7
0 6
3 K
2 4
3 3
33 48
0 J
3 Q
0 5
3 9
24 32
1 5
0 A
2 2
3 9
49 16
1 7
1 8
3 5
0 T
30 47
1 9
0 J
0 5
3 5
13 45
0 T
0 4
3 A
3 J
23 22
0 6
1 4
1 7
0 T
35 39
0 5
3 8
1 Q
0 7
39 41
1 3
1 4
1 5
0 T
5 31
2 J
2 Q
1 5
1 3

output:

9/1
10492839/95128
2581565/35673
4876495/77832
3859513/51888
45/1
5945195/190256
24379633/428076
2235985/35673
41/1

result:

ok 10 tokens

Test #10:

score: 0
Accepted
time: 2492ms
memory: 6484kb

input:

10
14 25
0 7
2 A
0 J
2 T
39 14
0 6
3 J
1 9
2 T
13 50
3 2
2 4
0 9
1 9
30 5
3 4
2 5
0 4
3 K
10 15
1 Q
2 K
1 6
0 6
6 44
2 7
0 9
3 A
1 3
17 1
1 6
1 9
1 A
2 7
5 34
3 7
0 T
3 5
1 T
27 37
0 6
1 2
0 5
2 T
43 28
0 T
1 3
3 2
3 5

output:

24506651/570768
4345523/74448
50/1
3364165/155664
2489425/107019
44/1
1403137/95128
44/1
5109856/107019
139838263/1712304

result:

ok 10 tokens

Test #11:

score: 0
Accepted
time: 2472ms
memory: 6476kb

input:

10
14 46
2 6
1 5
2 9
3 K
50 49
1 8
0 9
1 3
0 8
13 47
2 5
2 8
1 Q
1 T
1 32
2 Q
1 7
1 5
3 T
20 41
0 4
2 5
1 7
3 T
7 33
3 8
2 A
1 3
0 2
46 19
0 2
1 2
0 5
3 8
16 16
3 A
1 9
3 6
2 3
33 37
2 Q
3 A
1 A
1 5
26 41
3 A
3 4
0 3
3 8

output:

46/1
319381/2162
47/1
34/1
39238799/856152
47/1
57329935/856152
1484924/35673
26983285/285384
151763911/1712304

result:

ok 10 tokens

Test #12:

score: 0
Accepted
time: 2479ms
memory: 6532kb

input:

10
44 37
2 9
1 9
2 K
2 Q
0 10
2 9
3 A
3 T
3 7
48 31
3 Q
0 2
1 7
3 T
48 47
3 2
2 J
3 5
1 8
42 26
0 5
3 3
3 8
1 J
36 27
2 J
0 4
3 A
1 K
36 33
0 7
2 J
2 2
2 T
3 38
2 3
2 K
3 J
3 T
13 47
3 A
3 K
1 8
0 5
0 4
3 2
0 6
1 9
0 A

output:

4062087/47564
10/1
76845275/856152
184062595/1712304
6908987/142692
7883155/190256
2127457/24816
24989705/570768
73/1
4/1

result:

ok 10 tokens

Test #13:

score: 0
Accepted
time: 2476ms
memory: 6532kb

input:

10
36 33
1 5
1 A
2 3
3 8
13 46
1 2
3 4
3 Q
2 A
15 9
1 J
1 T
0 6
3 8
8 8
3 4
0 Q
3 6
1 4
17 25
1 2
0 7
3 3
3 7
47 14
2 2
3 5
3 A
1 2
39 40
2 2
3 6
0 Q
1 6
25 20
2 J
3 7
3 8
3 A
11 35
1 4
1 7
1 3
1 Q
49 25
2 4
3 7
0 A
1 K

output:

47830/517
46/1
35218/1081
2374634/107019
2599975/71346
27085403/856152
70666369/1712304
3037665/95128
698311/18612
2519293/47564

result:

ok 10 tokens

Test #14:

score: 0
Accepted
time: 2517ms
memory: 6456kb

input:

10
34 49
0 7
0 3
1 T
0 5
16 3
2 A
2 5
1 6
3 4
39 18
1 3
2 6
0 6
1 7
27 20
3 Q
2 J
1 3
1 J
5 28
0 J
2 3
3 J
0 5
20 13
2 5
0 8
2 6
1 7
28 45
0 J
0 K
3 9
3 7
19 13
3 K
2 K
3 4
1 T
4 23
0 K
0 4
1 4
1 K
4 27
2 4
0 8
3 6
3 Q

output:

115084729/1712304
1813417/74448
10278259/285384
1216775/18216
1514785/51888
13859/376
9762728/107019
51/1
27/1
27/1

result:

ok 10 tokens

Test #15:

score: 0
Accepted
time: 2566ms
memory: 6560kb

input:

10
20 39
1 8
3 J
1 4
0 J
17 41
2 A
3 2
1 A
0 K
1 40
3 7
0 3
2 Q
2 J
45 38
1 2
0 2
2 7
1 6
20 39
1 J
2 2
2 4
0 Q
2 36
1 A
2 6
2 J
2 3
43 39
0 2
2 A
3 A
3 6
3 9
2 6
2 A
2 7
2 K
49 18
3 3
3 7
3 A
2 T
21 23
3 6
1 2
2 Q
2 3

output:

79/1
41/1
40/1
139116881/1712304
781927/18612
40/1
2281240/35673
351127/23782
83260967/1712304
399967/12972

result:

ok 10 tokens

Test #16:

score: 0
Accepted
time: 2489ms
memory: 6424kb

input:

10
37 38
3 J
3 3
2 T
0 3
24 7
1 T
0 Q
2 5
2 3
8 13
3 3
2 2
0 3
1 6
8 42
0 K
2 6
3 3
3 A
30 7
2 Q
0 3
2 3
3 3
22 24
3 4
1 6
2 T
2 7
27 28
2 3
3 Q
3 J
3 A
2 29
1 9
0 2
1 J
1 6
18 14
1 2
3 8
1 9
1 4
0 22
1 4
2 3
0 4
3 9

output:

112/1
64218515/1712304
131943/8648
42/1
20638193/856152
1147205/37224
2849395/77832
29/1
803834/35673
22/1

result:

ok 10 tokens

Test #17:

score: 0
Accepted
time: 2501ms
memory: 6552kb

input:

10
2 1
3 9
3 5
3 7
1 9
39 47
2 7
2 3
0 3
3 6
46 13
2 2
3 K
1 K
2 6
36 3
0 9
2 Q
3 9
1 4
28 3
3 4
2 9
1 3
2 3
42 6
0 K
3 9
1 8
1 2
49 3
2 J
2 2
3 3
1 A
14 1
1 T
1 3
1 K
1 5
24 46
2 T
3 T
3 8
3 J
46 21
3 6
3 2
0 Q
2 T

output:

333785/142692
33249019/285384
3661009/77832
33314437/570768
12106709/428076
722330/11891
8835697/214038
1507505/142692
94/1
85240951/1712304

result:

ok 10 tokens

Test #18:

score: 0
Accepted
time: 2456ms
memory: 6472kb

input:

10
9 9
1 Q
3 J
0 K
3 T
47 39
2 T
3 6
2 7
1 5
40 20
1 2
3 9
0 7
1 A
31 44
1 3
3 Q
0 Q
0 9
17 20
1 K
2 T
2 3
0 4
15 15
3 9
3 8
2 7
2 9
6 8
2 7
3 K
2 2
0 5
33 5
3 7
0 T
3 8
1 4
19 48
2 8
0 J
2 Q
1 3
18 3
3 2
1 5
0 7
2 T

output:

1396579/95128
90547637/856152
1005205/23782
44/1
5117174/107019
3690255/95128
7841155/428076
906547/18612
49271063/856152
8297849/570768

result:

ok 10 tokens

Test #19:

score: 0
Accepted
time: 2492ms
memory: 6464kb

input:

10
13 17
3 K
0 9
0 5
0 K
11 7
1 2
1 J
2 5
3 7
18 21
0 7
3 A
2 3
3 7
47 13
3 9
0 5
0 8
1 7
44 41
3 Q
1 J
1 Q
0 3
8 22
3 T
0 4
2 T
1 4
2 34
3 8
2 9
2 2
2 3
18 30
1 8
3 3
0 2
2 2
46 32
1 2
3 8
2 4
1 K
9 42
0 T
3 5
3 3
2 9

output:

941065/23782
1991523/95128
57/1
4739795/71346
11858265/95128
30/1
38/1
142229/3243
8021897/142692
60/1

result:

ok 10 tokens

Test #20:

score: 0
Accepted
time: 2490ms
memory: 6480kb

input:

10
26 36
0 4
0 6
0 9
3 7
39 46
1 9
2 Q
2 A
2 9
29 29
1 8
2 4
0 4
0 5
11 39
3 5
1 5
2 4
1 Q
4 50
3 Q
1 A
0 5
3 7
38 22
0 8
0 6
0 Q
1 9
43 6
0 8
1 2
1 4
0 A
3 17
1 4
0 2
0 8
1 5
41 50
1 3
1 7
2 9
1 J
39 44
2 Q
0 4
2 T
3 J

output:

4988365/107019
46/1
60866215/856152
61/1
58/1
1641440/35673
105791/3102
17/1
18402839/285384
17250637/190256

result:

ok 10 tokens

Test #21:

score: 0
Accepted
time: 2511ms
memory: 6476kb

input:

10
6 7
3 4
2 J
1 3
0 Q
24 15
0 A
1 A
3 J
0 5
27 16
2 4
0 T
2 A
3 T
3 38
3 Q
0 7
0 T
0 Q
13 19
0 9
2 A
1 6
2 J
17 13
3 5
0 4
2 Q
2 A
42 9
3 K
0 J
1 A
3 T
49 39
3 3
2 8
3 4
1 8
48 30
2 K
0 5
0 7
0 A
8 34
1 7
0 3
0 T
0 5

output:

17885699/1712304
63/1
34969277/1712304
38/1
4356838/107019
6083015/285384
7865169/190256
1567435/19458
639444/11891
34/1

result:

ok 10 tokens

Test #22:

score: 0
Accepted
time: 2573ms
memory: 6480kb

input:

10
47 40
1 3
3 4
1 9
2 6
18 47
3 9
1 3
2 6
2 J
1 28
3 J
1 9
0 Q
1 A
39 47
2 T
2 5
2 A
2 Q
50 23
3 3
1 T
1 J
1 4
7 1
0 9
1 A
1 T
2 7
35 1
0 5
3 9
0 3
2 2
36 44
2 8
0 5
2 T
2 K
1 11
1 5
0 5
2 A
3 4
9 5
1 Q
2 9
1 A
3 5

output:

11864045/190256
47/1
28/1
15318965/285384
86547851/1712304
2107907/214038
1121107/23782
628605/11891
13/1
1113833/95128

result:

ok 10 tokens

Test #23:

score: 0
Accepted
time: 2542ms
memory: 6632kb

input:

10
18 13
1 9
0 2
3 4
0 4
37 44
0 6
2 Q
0 4
3 6
41 34
1 Q
0 2
1 2
1 8
6 22
2 2
0 8
3 A
0 Q
14 13
1 7
2 A
1 J
1 6
47 8
2 K
3 6
1 2
2 9
11 38
1 6
2 A
3 T
1 9
19 48
1 J
2 6
3 A
2 9
47 1
3 7
2 K
0 J
0 3
6 9
0 J
2 T
2 6
0 A

output:

32395031/1712304
5478651/47564
20198925/190256
22/1
6187239/190256
5478335/77832
22999865/428076
7590095/155664
2031713/35673
1965515/142692

result:

ok 10 tokens

Test #24:

score: 0
Accepted
time: 2585ms
memory: 6652kb

input:

10
26 48
2 4
1 K
1 9
3 7
29 40
3 K
1 T
3 2
1 3
11 33
1 5
3 5
1 8
1 T
2 40
2 5
1 J
0 8
0 9
13 42
3 K
3 T
2 J
2 7
37 4
3 J
0 5
0 K
0 Q
40 25
0 2
1 2
2 K
2 T
27 45
0 A
1 4
1 9
1 5
33 27
1 9
1 7
3 2
3 5
14 7
3 7
0 A
0 6
0 J

output:

3080509/37224
2293933/24816
93371/2162
12379969/285384
68/1
14272879/570768
8890375/142692
964265/11891
10935145/142692
2430561/95128

result:

ok 10 tokens

Test #25:

score: 0
Accepted
time: 2547ms
memory: 6480kb

input:

10
19 5
2 5
0 7
1 5
3 8
9 41
2 4
0 K
3 7
1 5
3 22
2 3
1 9
3 A
3 7
39 10
0 5
2 Q
3 8
2 9
2 40
2 2
0 7
1 4
3 Q
15 5
1 K
2 6
0 4
3 6
17 35
3 4
0 3
0 4
2 J
6 14
1 Q
3 K
0 6
1 2
3 45
3 8
3 J
1 J
3 3
47 23
2 5
1 J
3 7
1 5

output:

1092893/71346
705125/12408
22/1
93295559/1712304
40/1
3037660/107019
35/1
26/1
51/1
83308855/856152

result:

ok 10 tokens

Test #26:

score: 0
Accepted
time: 2484ms
memory: 6484kb

input:

10
11 14
0 8
0 3
0 5
0 2
47 8
0 K
0 8
0 2
3 9
20 21
1 6
1 K
2 2
0 4
28 25
1 5
2 A
2 3
0 A
44 48
2 K
3 5
3 2
0 T
34 19
3 9
3 J
3 Q
3 2
22 38
1 9
3 A
1 6
2 9
39 18
2 7
2 Q
1 3
0 7
45 35
2 5
2 3
0 2
2 9
23 22
3 K
0 2
2 9
0 3

output:

26252975/856152
11186555/155664
47399485/856152
25587817/428076
2186069/18612
78096295/1712304
82/1
4076697/47564
7946420/107019
5037215/95128

result:

ok 10 tokens

Test #27:

score: 0
Accepted
time: 2458ms
memory: 6480kb

input:

10
10 32
2 Q
3 2
1 6
0 J
6 50
1 J
2 8
2 Q
0 Q
0 4
3 Q
3 5
3 T
1 3
36 47
1 7
0 A
1 9
0 8
17 41
3 A
3 3
2 4
0 8
33 28
0 7
1 3
2 K
0 K
46 50
3 Q
1 8
2 6
2 K
31 10
1 3
1 Q
2 J
0 8
41 37
2 6
2 J
1 J
1 K
12 22
1 Q
3 3
0 9
0 8

output:

4715921/95128
50/1
4/1
53642153/570768
20421655/285384
28/1
239228/3243
13890103/285384
4135339/95128
29561759/856152

result:

ok 10 tokens

Test #28:

score: 0
Accepted
time: 2456ms
memory: 6564kb

input:

10
18 16
3 9
0 Q
1 J
3 5
50 9
0 6
3 Q
0 Q
2 J
20 18
2 4
3 T
3 4
2 J
33 29
3 Q
3 8
0 3
1 K
43 44
2 6
3 9
0 A
0 K
40 42
1 2
2 2
0 3
2 J
22 22
2 6
2 K
1 2
3 Q
40 24
3 Q
1 J
1 9
1 3
45 42
2 J
3 A
1 9
0 2
28 15
2 7
0 2
1 T
0 4

output:

9510089/214038
26818273/856152
511537/25944
706273/12408
33154279/570768
9367967/107019
2268215/38916
1000932/11891
67083119/570768
1116323/36432

result:

ok 10 tokens

Test #29:

score: 0
Accepted
time: 2465ms
memory: 6460kb

input:

10
50 35
2 3
0 5
2 2
3 9
27 44
1 3
1 J
3 8
2 9
35 13
2 7
2 2
0 8
3 4
29 33
2 K
0 3
2 4
3 4
26 49
2 9
1 2
2 K
1 7
24 17
1 K
2 6
1 J
2 4
3 32
0 Q
2 T
3 J
1 A
31 21
3 A
2 2
2 8
1 9
40 39
2 T
3 8
2 Q
3 9
12 15
1 A
1 9
0 K
2 Q

output:

64571525/856152
138582415/1712304
1385996/35673
988993/25944
10034775/190256
30004661/570768
32/1
24313913/428076
752159/12972
6225177/190256

result:

ok 10 tokens

Test #30:

score: 0
Accepted
time: 2532ms
memory: 6556kb

input:

10
36 44
3 3
1 A
3 6
3 7
15 5
2 4
2 9
0 7
0 A
35 20
1 J
0 J
1 A
0 7
35 15
1 3
0 A
1 K
0 5
6 2
0 6
0 K
3 J
1 J
47 26
0 8
3 T
2 7
3 8
30 43
0 7
1 5
3 7
0 K
20 25
3 5
1 J
2 J
2 8
43 23
0 9
2 3
1 A
1 3
4 19
2 A
0 Q
3 8
1 3

output:

8928250/107019
2155145/142692
12278725/155664
52306525/856152
1086227/214038
177374159/1712304
43/1
1339675/47564
406759/12972
27/1

result:

ok 10 tokens

Test #31:

score: 0
Accepted
time: 2472ms
memory: 6532kb

input:

10
10 23
2 9
3 Q
1 5
0 4
35 28
3 5
0 4
1 4
0 8
43 37
3 T
0 J
1 K
3 6
12 4
3 A
2 Q
0 6
2 7
46 47
0 J
0 A
1 T
1 9
32 46
3 7
1 4
1 T
2 9
29 0
0 A
3 9
1 J
2 J
13 22
0 7
1 J
2 K
2 T
7 24
2 4
1 J
3 A
2 K
6 29
2 T
3 3
1 2
1 T

output:

357935/8648
2061423/47564
2635835/35673
2138452/107019
173941/1518
4875611/95128
134879/8272
865025/37224
24/1
59890775/1712304

result:

ok 10 tokens

Test #32:

score: 0
Accepted
time: 2499ms
memory: 6480kb

input:

10
26 21
1 9
1 7
1 A
3 2
46 49
1 T
0 T
2 7
3 9
5 2
2 K
3 8
2 Q
0 8
9 23
0 2
2 6
2 A
3 3
44 25
1 Q
2 2
3 6
0 K
20 32
3 4
3 5
0 3
2 Q
45 8
2 7
2 T
2 A
1 6
4 13
3 3
2 K
1 8
3 2
22 34
2 Q
0 T
1 9
3 2
6 44
0 K
3 6
3 T
0 J

output:

1595155/36432
141/1
5900671/570768
273534/11891
1237327/24816
7076225/142692
10149553/214038
21/1
16563533/214038
23186125/428076

result:

ok 10 tokens

Test #33:

score: 0
Accepted
time: 2469ms
memory: 6560kb

input:

10
42 5
2 3
1 J
1 A
0 7
46 16
3 Q
3 J
3 9
2 Q
48 29
2 8
0 7
3 5
0 3
23 23
0 4
1 8
2 7
0 9
34 16
0 4
1 8
3 J
2 6
31 18
3 A
3 6
2 6
0 9
3 32
0 5
1 T
3 Q
2 6
44 45
3 3
2 9
2 T
1 5
20 44
2 K
1 4
3 7
3 5
48 3
2 6
0 4
2 5
3 T

output:

25735/759
78392459/856152
15580943/155664
593081/18612
32170975/856152
894005/12408
32/1
9170827/142692
7286588/107019
23228851/570768

result:

ok 10 tokens

Test #34:

score: 0
Accepted
time: 2458ms
memory: 6632kb

input:

10
23 32
0 4
2 J
1 5
1 2
5 34
1 9
3 9
0 9
3 6
35 20
2 J
1 T
2 K
3 J
46 14
3 2
0 4
2 8
3 7
18 45
3 T
3 9
1 9
1 J
25 19
3 5
2 2
1 2
1 K
50 18
2 A
3 2
2 Q
1 2
11 7
0 J
2 2
2 3
0 4
20 13
3 4
0 A
3 A
1 7
38 7
0 K
1 5
3 9
3 2

output:

9890035/155664
44/1
4713925/155664
5783995/142692
45/1
306965/12972
1230817/11891
243802/11891
647779/25944
10177515/190256

result:

ok 10 tokens

Test #35:

score: 0
Accepted
time: 2536ms
memory: 6536kb

input:

10
17 17
3 6
2 2
0 J
0 K
19 8
3 4
1 4
0 5
2 7
8 24
2 8
2 J
0 7
1 7
15 31
2 3
0 T
2 5
3 A
47 4
1 T
0 7
2 5
0 4
22 7
0 9
1 9
3 A
0 2
46 19
0 T
2 2
3 K
3 A
5 45
2 4
1 T
0 Q
2 Q
38 10
3 7
3 8
0 2
2 5
39 45
1 K
3 3
3 J
0 T

output:

18087065/856152
689247/23782
3293398/107019
1215229/37224
36646645/570768
374129/9108
16810105/428076
45/1
2327350/35673
12894077/142692

result:

ok 10 tokens

Test #36:

score: 0
Accepted
time: 2436ms
memory: 6460kb

input:

10
28 21
2 Q
3 K
0 Q
0 K
21 2
0 Q
0 4
1 6
0 J
27 6
2 3
0 J
0 Q
3 J
40 8
1 Q
2 J
3 9
2 8
34 50
1 J
0 4
2 7
1 8
44 1
3 2
1 J
0 J
1 9
3 7
0 Q
1 4
2 5
1 7
6 5
2 J
2 K
3 4
2 7
22 4
0 J
2 K
2 9
0 K
17 50
2 2
2 Q
3 4
1 4

output:

79720991/1712304
132028/4653
204143/12972
96335/1551
13289899/142692
55235/2068
3244705/285384
253763/17296
4083014/107019
50/1

result:

ok 10 tokens

Test #37:

score: 0
Accepted
time: 2462ms
memory: 6480kb

input:

10
49 23
2 5
0 K
2 J
2 2
49 27
0 K
0 2
3 T
0 A
19 8
1 K
2 8
2 J
3 3
21 47
2 3
1 7
1 8
2 K
36 25
2 A
3 4
1 7
2 T
40 48
1 9
2 3
2 T
3 J
25 31
2 6
3 6
2 5
1 3
12 15
3 T
2 Q
1 9
1 5
42 27
2 J
0 2
1 2
0 Q
5 40
1 T
2 3
1 7
0 4

output:

1037998/11891
2686657/47564
1624041/47564
47/1
5485669/77832
1019587/19458
81/1
3247605/95128
426847/12408
50/1

result:

ok 10 tokens

Test #38:

score: 0
Accepted
time: 2476ms
memory: 6564kb

input:

10
7 21
2 2
1 T
3 A
1 2
31 41
2 T
3 A
1 T
1 7
23 41
3 6
0 9
0 4
0 2
25 12
2 2
2 J
3 5
2 8
10 30
3 6
0 7
1 8
0 J
1 13
3 8
0 5
2 2
1 9
8 23
1 2
1 6
2 A
3 4
27 36
0 8
2 A
2 9
3 2
47 35
1 2
3 J
1 3
3 8
9 12
2 9
0 7
3 2
2 8

output:

21/1
212719/2162
8576144/107019
1554037/35673
30/1
13/1
14170007/570768
7756553/95128
846609/8648
8014559/285384

result:

ok 10 tokens

Test #39:

score: 0
Accepted
time: 2468ms
memory: 6648kb

input:

10
33 20
1 7
0 J
3 3
0 4
39 31
2 9
3 2
3 4
3 J
23 36
2 T
2 6
2 5
3 T
23 21
3 5
2 7
2 5
1 Q
37 17
2 3
3 5
3 7
1 A
8 4
1 5
1 A
0 5
3 T
20 2
1 J
1 5
0 5
0 6
43 26
3 8
0 2
0 4
1 9
0 10
3 8
2 4
3 Q
2 6
8 38
0 A
3 2
2 J
0 6

output:

116672027/1712304
5199355/107019
124528999/1712304
1043771/38916
919605/23782
650227/35673
375589/12972
1254565/24816
10/1
54/1

result:

ok 10 tokens

Test #40:

score: 0
Accepted
time: 2476ms
memory: 6556kb

input:

10
47 48
1 A
1 K
1 6
3 K
6 12
0 4
1 6
3 Q
3 K
38 34
1 3
0 7
0 3
0 6
50 6
3 A
1 5
3 6
3 2
9 36
3 A
2 6
0 T
3 5
9 48
3 T
0 9
3 8
3 4
31 42
3 8
2 8
2 J
1 5
50 8
2 8
1 5
2 7
3 7
36 37
1 2
3 4
3 2
2 Q
15 33
0 5
3 K
1 J
1 T

output:

142/1
1168241/95128
2172207/23782
7405118/107019
54/1
66/1
87998215/856152
900247/25944
35967611/856152
578827/11891

result:

ok 10 tokens

Test #41:

score: 0
Accepted
time: 2472ms
memory: 6552kb

input:

10
40 27
2 9
3 9
1 3
2 7
11 5
0 T
2 4
2 3
2 5
40 34
0 6
2 6
0 K
3 J
29 42
2 8
3 5
1 J
1 T
32 33
1 6
1 3
2 5
1 J
8 31
3 5
0 6
0 T
0 J
47 31
3 9
0 3
2 6
1 3
25 33
2 5
2 4
1 2
3 7
27 39
3 4
0 8
2 9
1 2
2 21
3 K
1 4
1 8
1 T

output:

107/1
178435/9729
486883/6204
76109089/1712304
5602415/107019
31/1
30528433/285384
1108003/18612
480973/8648
1808965/74448

result:

ok 10 tokens

Test #42:

score: 0
Accepted
time: 2482ms
memory: 6556kb

input:

10
40 41
1 5
0 J
3 4
0 A
30 8
3 2
1 2
2 J
0 8
25 29
1 5
3 3
3 T
1 8
23 12
3 Q
0 4
2 A
2 7
43 32
1 T
1 9
1 8
1 A
34 20
1 J
2 3
1 8
2 5
29 19
1 A
1 2
0 8
0 3
42 37
3 2
3 K
3 A
1 7
0 44
3 4
2 J
0 A
3 K
7 48
1 6
2 8
1 2
2 6

output:

1092069/17296
16564219/428076
3532341/95128
20578355/856152
3289025/51888
5852331/95128
2021596/35673
17252099/285384
44/1
62/1

result:

ok 10 tokens

Test #43:

score: 0
Accepted
time: 2516ms
memory: 6648kb

input:

10
44 17
2 3
0 Q
3 5
0 9
34 20
3 2
0 J
3 J
1 9
26 34
0 6
0 A
3 A
3 3
32 9
0 7
2 3
2 4
2 J
11 38
2 9
0 3
2 4
3 T
34 40
1 3
0 Q
0 7
0 6
38 13
1 Q
0 9
1 7
3 4
50 24
0 2
3 7
0 8
1 4
6 7
2 6
1 2
3 7
0 4
23 8
2 T
0 A
1 6
3 T

output:

122563091/1712304
1485789/47564
889285/12972
1037464/35673
38/1
676397/8648
38294999/570768
45631027/856152
1538407/155664
39161711/856152

result:

ok 10 tokens

Test #44:

score: 0
Accepted
time: 2480ms
memory: 6532kb

input:

10
31 4
3 3
0 9
2 9
2 K
11 24
1 5
1 T
2 6
3 J
42 12
1 7
0 A
3 7
3 6
4 46
2 2
0 3
1 4
3 6
12 28
0 5
3 4
2 2
3 2
43 49
3 Q
3 6
3 9
0 8
4 15
2 Q
1 T
3 9
1 5
4 22
1 K
2 K
1 Q
2 8
16 35
2 2
2 K
0 7
0 2
27 10
0 7
3 5
0 3
0 A

output:

4648735/285384
1013075/35673
6749367/95128
46/1
8376875/214038
989587/9306
23/1
30/1
67/1
25755071/856152

result:

ok 10 tokens

Test #45:

score: 0
Accepted
time: 2521ms
memory: 6544kb

input:

10
33 23
2 7
0 9
1 J
0 Q
17 11
0 2
2 A
1 T
2 9
36 45
0 8
0 4
3 T
3 Q
6 23
1 8
2 2
0 9
3 5
9 17
2 6
0 9
2 4
0 K
32 3
3 Q
1 4
0 9
0 3
41 17
1 J
3 7
2 4
0 3
14 17
3 3
1 3
0 4
2 J
46 48
3 7
1 T
0 9
0 2
47 7
3 8
0 T
3 6
0 9

output:

8224223/214038
6599299/214038
10767645/190256
23/1
19184815/856152
1475915/35673
63322109/856152
7227061/214038
1054945/9108
6690615/95128

result:

ok 10 tokens

Test #46:

score: 0
Accepted
time: 2517ms
memory: 6476kb

input:

10
10 31
3 8
1 T
1 J
0 7
21 44
2 K
0 J
0 T
3 3
3 39
3 K
2 K
0 J
1 6
21 9
0 3
2 A
1 J
3 Q
22 4
0 Q
1 8
2 6
1 4
49 21
2 2
1 7
0 6
3 4
40 16
0 2
2 8
2 J
2 5
35 28
0 6
0 3
1 5
2 K
28 41
0 T
1 2
3 7
2 K
44 16
3 6
3 3
0 6
3 J

output:

6518385/190256
86/1
45/1
3207615/95128
28544555/856152
63743155/856152
457821/11891
10035347/190256
620377/12408
5290915/142692

result:

ok 10 tokens

Test #47:

score: 0
Accepted
time: 2464ms
memory: 6480kb

input:

10
24 15
2 5
2 T
3 J
2 9
27 23
3 T
3 2
3 Q
3 K
40 20
1 9
2 A
2 6
1 2
22 9
0 T
1 3
1 J
0 3
36 16
1 Q
0 K
1 T
2 8
7 17
2 8
3 A
1 7
3 J
40 4
0 7
2 J
1 T
0 T
15 24
0 3
1 3
2 J
0 4
28 24
3 5
2 8
0 4
0 5
22 44
3 3
2 8
1 8
0 8

output:

5493683/190256
3183625/107019
11472025/142692
27356911/1712304
9694295/142692
2160331/71346
237253/9729
3008473/71346
27708577/428076
44/1

result:

ok 10 tokens

Test #48:

score: 0
Accepted
time: 2489ms
memory: 6564kb

input:

10
33 20
0 K
0 5
3 4
1 K
44 17
3 8
1 7
3 T
3 9
43 30
2 4
1 8
1 6
3 6
15 0
1 A
2 Q
0 4
3 7
40 48
3 A
0 T
2 4
1 9
5 42
1 K
3 T
2 2
1 4
45 37
3 4
2 5
0 5
0 T
27 13
0 T
3 7
1 5
2 8
35 22
3 8
0 8
1 K
1 6
33 9
1 6
3 5
1 8
1 A

output:

53004823/856152
68482687/1712304
18579449/428076
11069855/570768
2308739/19458
52/1
4769407/95128
114740/2277
14501541/190256
8646659/285384

result:

ok 10 tokens

Test #49:

score: 0
Accepted
time: 2487ms
memory: 6572kb

input:

10
0 20
1 4
3 A
3 2
0 T
28 23
3 T
2 8
2 6
0 Q
38 26
0 9
2 T
0 7
0 6
19 15
1 A
3 8
1 7
2 J
35 4
3 K
0 8
2 6
0 2
31 17
2 6
3 K
2 3
3 A
11 48
0 4
3 K
2 Q
0 J
45 7
3 A
1 5
0 8
0 2
2 34
0 A
1 Q
3 4
0 5
40 27
1 2
0 2
2 9
3 T

output:

20/1
8462481/190256
8480788/107019
36722669/856152
29676569/570768
1378538/35673
112170505/1712304
4489303/71346
38/1
18751625/285384

result:

ok 10 tokens

Test #50:

score: 0
Accepted
time: 2525ms
memory: 6564kb

input:

10
38 45
1 5
1 8
3 8
3 T
24 44
2 A
0 A
2 2
1 9
30 42
1 5
0 T
2 7
2 Q
38 48
2 Q
2 9
3 A
2 4
10 50
0 7
1 Q
1 4
0 2
48 44
2 8
0 6
2 9
0 8
48 0
3 5
3 K
0 2
0 5
36 31
3 6
0 5
0 4
3 J
1 4
3 3
3 7
0 5
0 J
49 37
1 9
0 K
0 J
2 K

output:

86058965/1712304
92/1
589326/11891
67284379/856152
70/1
53169/1034
2407078/35673
24990665/428076
4/1
3660547/77832

result:

ok 10 tokens

Test #51:

score: 0
Accepted
time: 2507ms
memory: 6568kb

input:

10
34 6
0 A
2 5
1 2
0 J
32 48
1 5
3 K
2 3
1 3
2 38
2 J
2 2
3 K
0 5
44 27
0 A
3 A
2 4
2 9
20 38
3 5
3 2
0 8
3 T
36 19
1 A
3 7
0 Q
0 T
44 33
2 6
3 6
3 K
0 3
30 44
1 8
3 8
2 T
3 3
16 26
2 A
0 9
2 2
2 4
18 11
1 A
1 J
1 7
3 3

output:

5572195/107019
713560/9729
38/1
115/1
370649/8648
992305/17296
16823135/155664
104/1
14994581/285384
67485233/1712304

result:

ok 10 tokens