# Aiuto per Ping-pong (ois\_pingpong)

**URL:** <https://forum.olinfo.it/t/aiuto-per-ping-pong-ois-pingpong/10001>\
**Category:** Aiuto\
**Created:** [15 Giugno 2026, 7:56am UTC](https://forum.olinfo.it/t/aiuto-per-ping-pong-ois-pingpong/10001 "2026-06-15T07:56:54Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![GNCNK](https://forum.olinfo.it/user_avatar/forum.olinfo.it/gncnk/32/2751_2.png) [@GNCNK](https://forum.olinfo.it/u/GNCNK)\
**Post date:** [15 Giugno 2026, 7:56am UTC](https://forum.olinfo.it/t/aiuto-per-ping-pong-ois-pingpong/10001/1 "2026-06-15T07:56:54Z")

</div>

Ciao a tutti, ho bisogno di aiuto per risolvere il problema [Ping-pong](https://training.olinfo.it/task/ois_pingpong).

Mi sembra di aver gestito tutti i casi possibili eppure sbaglia l’ultimo subtask, cioè quando i set possibili sono più di 4.

Ecco il mio codice:

```cpp
#!/usr/bin/env python3
# NOTE: it is recommended to use this even if you don't understand the following code.

import sys
import math

# uncomment the two following lines if you want to read/write from files
# sys.stdin = open('input.txt')
# sys.stdout = open('output.txt', 'w')

T = int(input().strip())
for test in range(1, T+1):
    A, B = map(int, input().strip().split())
    
    C = -1
    D = -1
    
    
    # INSERT YOUR CODE HERE

    extra = A - 33
    lost = math.ceil(extra/11)

    if 33 <= A <= 53 and B >= lost*11:
        # lost
        while extra > 0 or B > 30:
            C = min(extra, 10)
            D = 11

            extra -= C
            A -= C
            B -= D

            print(C, D)

        # win
        while A > 0:
            C = 11
            D = min(B, 10)

            A -= C
            B -= D

            print(C, D)
    else:
        print(C, D)

sys.stdout.close()

```

Grazie mille in anticipo!

---

<div class="post-metadata">

**Author:** ![GNCNK](https://forum.olinfo.it/user_avatar/forum.olinfo.it/gncnk/32/2751_2.png) [@GNCNK](https://forum.olinfo.it/u/GNCNK)\
**Post date:** [15 Giugno 2026, 7:59am UTC](https://forum.olinfo.it/t/aiuto-per-ping-pong-ois-pingpong/10001/2 "2026-06-15T07:59:14Z")

</div>

Una cosa da aggiungere la verifica iniziale per casi impossibili è if 33 \<= A \<= 53 and lost\*11 \<= B \<= 52.

---

<div class="post-metadata">

**Author:** ![GNCNK](https://forum.olinfo.it/user_avatar/forum.olinfo.it/gncnk/32/2751_2.png) [@GNCNK](https://forum.olinfo.it/u/GNCNK)\
**Post date:** [15 Giugno 2026, 8:07am UTC](https://forum.olinfo.it/t/aiuto-per-ping-pong-ois-pingpong/10001/3 "2026-06-15T08:07:32Z")

</div>

Niente sono riuscito a risolvere, grazie comunque a chi voleva aiutarmi. Il caso limite era la riga: lost = math.ceil(extra/11). Massimi punteggi che A può fare per una partita persa sono 10 e non 11.
