CSES - Datatähti 2025 alku - Results
Submission details
Task:Kortit I
Sender:rottis
Submission time:2024-10-28 11:13:32 +0200
Language:Ruby
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.07 s1, 2, 3details
#20.08 s2, 3details
#30.09 s3details
#40.09 s3details
#50.08 s3details
#60.09 s3details
#70.08 s3details
#80.08 s3details
#90.08 s3details
#100.09 s3details
#110.09 s3details
#120.09 s3details
#130.09 s3details
#140.09 s3details
#150.09 s3details
#160.11 s3details
#170.11 s3details
#180.10 s3details
#190.10 s3details
#200.11 s3details

Code

row_count = gets.chomp.to_i
rows = []
row_count.times do
  rows.append(gets.chomp.split(" ").map(&:to_i))
end

rows.each do |row|
  n = row[0]
  p1_wins = row[1]
  p2_wins = row[2]
  p1_moves = []
  p2_moves = []

  if p1_wins + p2_wins > n
    puts("NO")
    next
  end

  draws = n - p1_wins - p2_wins

  ((n-draws+1)..n).each do |x|
    p1_moves << x
    p2_moves << x
  end
  
  n -= draws
  
  if n>0 && (p1_wins == 0 || p2_wins == 0)
    puts("NO")
    next
  end

  p1_possible_moves = (1..n).to_a
  p2_possible_moves = (1..n).to_a.reverse
  while p1_wins > 0
    p1_wins -= 1
    p1_moves.append(p1_possible_moves.pop)
    p2_moves.append(p2_possible_moves.pop)
  end
  p1_possible_moves = p1_possible_moves.reverse
  while p2_wins > 0
    p2_wins -= 1
    p1_moves.append(p1_possible_moves.pop)
    p2_moves.append(p2_possible_moves.pop)
  end
  puts("YES")
  puts(p1_moves.join(" "))
  puts(p2_moves.join(" "))
end

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
NO
NO
...

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
NO
NO
YES
7 6 1 2 3 4 5
7 1 2 3 4 5 6
...

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
YES
13 14 12 11 1 2 3 4 5 6 7 8 9 ...

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
NO
YES
13 14 15 16 12 11 10 9 8 7 6 5...

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
YES
18 17 16 1 2 3 4 5 6 7 8 9 10 ...

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
NO
NO
YES
14 15 16 17 18 19 20 13 12 11 ...

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
YES
7 8 9 10 11 12 13 14 15 16 17 ...

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
NO
NO
NO
NO
NO
...

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
YES
24 23 1 2 3 4 5 6 7 8 9 10 11 ...

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
NO
YES
18 19 20 21 22 23 24 25 17 16 ...

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
YES
21 22 23 24 25 26 20 19 1 2 3 ...

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
NO
NO
YES
20 21 22 23 24 25 26 27 19 18 ...

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
NO
NO
YES
14 15 16 17 18 19 20 21 22 23 ...

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
NO
YES
16 17 18 19 20 21 22 23 24 25 ...

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
NO
NO
NO
NO
YES
...

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
NO
NO
YES
31 32 33 34 35 36 37 38 39 40 ...

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
NO
NO
YES
34 35 36 37 38 39 40 41 42 43 ...

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
NO
NO
NO
NO
YES
...

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
NO
NO
NO
NO
NO
...

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
NO
NO
NO
NO
NO
...