Daus trucats W81237


Statement
 

pdf   zip

thehtml

Els daus, pel joc, s’han utilitzat des de l’antiguitat i actualment encara s’utilitzen. També fa molt de temps que existeix l’astúcia dels tramposos que trucaven aquests daus. Avui en dia hi ha daus de moltes formes, per exemple daus de 4 cares amb forma piramidal, daus de 12 cares amb forma de dodecaedre, entre molts d’altres. Una forma per detectar si un dau està trucat és mitjançant l’estadística: si un dau és just, les cares haurien d’aparèixer amb una freqüència similar quan es fan moltes tirades.

Un test senzill per detectar si un dau pot estar trucat és comparar les freqüències relatives de cada cara amb la que s’esperaria si el dau fos just. En un dau just de n cares, totes les cares tenen la mateixa probabilitat: 1/n, o el que és el mateix, un percentatge esperat de 100/n %.

La idea seria calcular el percentatge d’aparicions de cada cara i comprovar si alguna s’allunya massa del valor esperat (100/n). Si hi ha una desviació superior a un cert llindar (per exemple, 5%), es podria sospitar que el dau està trucat.

Implementa un programa que donat:

  • un natural n>0 que indica el nombre de cares del dau
  • un real positiu corresponent a un cert llindar (%)
  • un flux de naturals acabat en 0 que representa les tirades usant aquest dau

mostri el percentatge d’aparició de cada número del dau, i faci el test per indicar si el dau és trucat o no.

Exemple:

Donat el flux 1, 4, 4, 2, 3, 2, 4, 3, 0 que són tirades d’un dau de 4 cares i un llindar del 10% el resultat seria:

Cara 1: 12.5%
Cara 2: 25%
Cara 3: 25%
Cara 4: 37.5%
TRUCAT

Està trucat ja que per exemple la cara 1 en aplicar el test s’obté que 25 − 12.5 > 10.

Entrada

L’entrada consisteix en:

  • un natural n >0 (el nombre de cares del dau)
  • un real positiu (el llindar de desviació permès)
  • una flux de naturals dins del rang [1..n] acabat en 0 (les tirades usant aquest dau)

Sortida

Mostra per cada cara del dau el percentatge d’aparició seguint aquest format:

Cara 1: X
Cara 2: Y
...

On X, Y, …són els percentatges corresponents a cada cara del dau.

I al final, s’ha d’escriure una línia amb el text “TRUCAT” o “NO TRUCAT” depenent de si el test dona que el dau està trucat o no.

Per obtenir més detalls sobre la sortida consulta els jocs de proves públics.

Public test cases
  • Input

    6
    5
    1 2 2 3 4 5 6 1 2 3 3 4 5 6 4 5 2 0
    

    Output

    Cara 1: 11.7647%
    Cara 2: 23.5294%
    Cara 3: 17.6471%
    Cara 4: 17.6471%
    Cara 5: 17.6471%
    Cara 6: 11.7647%
    TRUCAT
    
  • Input

    20
    5
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
    0
    

    Output

    Cara 1: 5%
    Cara 2: 5%
    Cara 3: 5%
    Cara 4: 5%
    Cara 5: 5%
    Cara 6: 5%
    Cara 7: 5%
    Cara 8: 5%
    Cara 9: 5%
    Cara 10: 5%
    Cara 11: 5%
    Cara 12: 5%
    Cara 13: 5%
    Cara 14: 5%
    Cara 15: 5%
    Cara 16: 5%
    Cara 17: 5%
    Cara 18: 5%
    Cara 19: 5%
    Cara 20: 5%
    NO TRUCAT
    
  • Input

    12
    5
    0
    

    Output

    Cara 1: 0%
    Cara 2: 0%
    Cara 3: 0%
    Cara 4: 0%
    Cara 5: 0%
    Cara 6: 0%
    Cara 7: 0%
    Cara 8: 0%
    Cara 9: 0%
    Cara 10: 0%
    Cara 11: 0%
    Cara 12: 0%
    NO TRUCAT
    
  • Information
    Author
    Bernardino Casas
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++