CSES - Datatähti 2025 alku - Results
Submission details
Task:Kortit I
Sender:aleksiongod
Submission time:2024-11-01 12:43:54 +0200
Language:Python3
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.02 s1, 2, 3details
#2--2, 3details
#3--3details
#4--3details
#5--3details
#6--3details
#7--3details
#8--3details
#9--3details
#10--3details
#11--3details
#12--3details
#13--3details
#14--3details
#15--3details
#16--3details
#17--3details
#18--3details
#19--3details
#20--3details

Code

import random, itertools
'''
In a two player game each player has n cards numbered
1,2,...,n.
On each turn both players place one of their cards on
the table at the same time.
The player who placed the higher card gets one point.
If the cards are equal, neither player gets a point.
The game continues until all cards have been played.
You are given the number of cards n and the players' scores
at the end of the game, a and b.
Your task is to give an example of how the game could have
played out.
Input
The first line contains one integer t: the number of tests.
Then there are t lines, each with three integers n, a and
b.
Output
For each test case print YES or NO.
If the answer is YES, print an exam
ple of one possible game.
Print two lines represent
ing the order in which th
e players place their cards.
You can give any valid example.
'''
z=0
y=0
def game(m,car,which):
    score = [0,0]
    for i in range(0,m):
        if car[0][i] == car[1][i]:
            continue
        elif car[0][i] < car[1][i]:
            score[1] += 1
        else:
            score[0] += 1
    if which:
        return score
    else:
        print (*car)
def rug(gae,m):
    global z
    global y
    ilst=itertools.permutations(range(1,m+1),m)
    illst=itertools.permutations(range(1,m+1),m)
    listt = list(range(1,m+1))[z:]+list(range(1,m+1))[:z]
    random.shuffle(listt)
    lisst = list(range(1,m+1))[y:]+list(range(1,m+1))[:y]
    random.shuffle(lisst)
    caro = [listt,lisst]
    if len(gae) == 3:
        gae.pop(0)
    for a in illst:
        for i in ilst:
            caro = [i,a]
            if game(m,caro,True) == gae:
                print("YES")
                print(*caro[0])
                print(*caro[1])
                break
        break
def rouge(gae,m):
    global y
    global z
    lisst = list(range(1,m+1))
    random.shuffle(lisst)
    listt = list(range(1,m+1))
    random.shuffle(lisst)
    caro = [listt,lisst]
    if len(gae) == 3:
        gae.pop(0)
    if game(m,caro,True) == gae:
        print("YES")
        print(*caro[0])
        print(*caro[1])
    elif y < m:
        z=0
        return rug(gae,m)
    else:
        print ("NO")
def test(m):
    rug(m,m[0])
t = int(input())
gaes = []
for i in range(0,t):
    gaes.append(input().split(" "))
for n in gaes:
    n[0] = int(n[0])
    n[1] = int(n[1])
    n[2] = int(n[2])
    if n[0] < n[2]+n[1]:
        print("NO")
    elif n[1]==0 and n[2] == 0:
        print("YES")
        print (*list(range(1,n[0]+1)))
        print (*list(range(1,n[0]+1)))
    else:
        test(n)
z=0
y=0

Test details

Test 1

Group: 1, 2, 3

Verdict:

input
54
4 4 0
3 1 3
3 2 2
4 0 4
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
YES
1 2
...

Test 2

Group: 2, 3

Verdict:

input
284
6 1 0
5 0 2
7 1 5
7 7 5
...

correct output
NO
NO
YES
1 2 3 4 5 6 7 
2 3 4 5 6 1 7 
...

user output
(empty)

Test 3

Group: 3

Verdict:

input
955
14 2 10
12 2 5
10 4 9
14 1 13
...

correct output
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 4

Group: 3

Verdict:

input
869
17 12 9
16 8 4
15 9 9
17 11 15
...

correct output
NO
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 5

Group: 3

Verdict:

input
761
18 3 15
19 1 15
18 8 1
19 19 17
...

correct output
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 6

Group: 3

Verdict:

input
925
21 14 21
20 18 18
20 7 6
21 14 9
...

correct output
NO
NO
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 7

Group: 3

Verdict:

input
529
22 3 3
22 17 5
22 6 15
22 22 20
...

correct output
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 8

Group: 3

Verdict:

input
576
23 18 9
23 16 8
23 16 13
23 16 22
...

correct output
NO
NO
NO
NO
NO
...

user output
(empty)

Test 9

Group: 3

Verdict:

input
625
24 2 22
24 15 21
24 6 3
24 21 1
...

correct output
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 10

Group: 3

Verdict:

input
676
25 16 25
25 15 2
25 15 7
25 15 16
...

correct output
NO
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 11

Group: 3

Verdict:

input
729
26 2 18
26 14 18
26 5 18
26 19 13
...

correct output
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 12

Group: 3

Verdict:

input
784
27 26 7
27 14 0
27 14 5
27 14 14
...

correct output
NO
NO
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 13

Group: 3

Verdict:

input
841
28 26 16
28 13 19
28 5 8
28 26 4
...

correct output
NO
NO
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 14

Group: 3

Verdict:

input
900
29 24 15
29 13 2
29 13 7
29 13 16
...

correct output
NO
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 15

Group: 3

Verdict:

input
961
30 24 26
30 12 24
30 4 29
30 24 14
...

correct output
NO
NO
NO
NO
YES
...

user output
(empty)

Test 16

Group: 3

Verdict:

input
1000
15 12 6
33 18 30
44 4 26
6 6 5
...

correct output
NO
NO
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 17

Group: 3

Verdict:

input
1000
45 32 30
4 0 3
46 23 10
71 19 46
...

correct output
NO
NO
YES
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 18

Group: 3

Verdict:

input
1000
51 29 37
75 11 72
5 2 4
31 8 26
...

correct output
NO
NO
NO
NO
YES
...

user output
(empty)

Test 19

Group: 3

Verdict:

input
1000
50 20 37
99 45 58
86 79 73
85 70 54
...

correct output
NO
NO
NO
NO
NO
...

user output
(empty)

Test 20

Group: 3

Verdict:

input
1000
26 23 5
73 53 59
64 47 41
80 75 55
...

correct output
NO
NO
NO
NO
NO
...

user output
(empty)