Attenzione: Questo task ha un tempo limite di 10 minuti per l'invio della soluzione. Una volta richiesto un input, il timer partirà in automatico, e dopo la scadenza non sarà più possibile inviare una soluzione per quell'input. È sempre possibile richiedere un nuovo input, per cui non preoccuparti se il timer scade: dovrai semplicemente richiedere e scaricare un nuovo input.
Per aiutarti con questo task, abbiamo preparato delle tracce di soluzione, che includono solo le parti di lettura dell'input e scrittura dell'output (da tastiera e su schermo). Puoi decidere se leggere/scrivere su file decommentando le opportune righe di codice.
- Scarica la traccia in C: guadagni.c
- Scarica la traccia in C++: guadagni.cpp
- Scarica la traccia in C#: guadagni.cs
- Scarica la traccia in Go: guadagni.go
- Scarica la traccia in JavaScript: guadagni.html
- Scarica la traccia in Java: guadagni.java
- Scarica la traccia in Pascal: guadagni.pas
- Scarica la traccia in Python: guadagni.py
- Scarica la traccia in VisualBasic: guadagni.vb
Noemi sta programmando la sua prossima vacanza in Truffandia! In Truffandia ci sono città collegate da strade bidirezionali (cioè ogni strada è attraversabile in entrambi i versi). Per percorrere ogni strada Noemi impiega un giorno di cammino.
Noemi infatti ha deciso che non vuole spendere soldi per questa vacanza, e si manterrà solo grazie agli introiti degli interessanti podcast che registrerà sul suo viaggio! Il pubblico di Noemi è molto affezionato e costante: al netto delle spese per alimentarsi, Noemi sa che riceverà una rendita di moneta al termine di ogni giornata del suo viaggio, direttamente sul suo conto.
In ognuna delle città c'è un servizio di navette: nella città numero spendendo monete Noemi può spostarsi con una navetta in una delle città collegate alla città , risparmiandosi un giorno di cammino. Purtroppo gli abitanti di Truffandia non sono molto corretti: infatti, ogni volta che Noemi spenderà soldi per una navetta il suo conto si azzererà completamente. Non solo, anche appena atterrerà in Truffandia il suo conto si azzererà completamente!
Noemi partirà quindi dalla città con monete sul conto, e vorrebbe sapere quale è il minor numero di giorni di cammino che dovrà fare per raggiungere la -esima città , sfruttando la rete di strade e le navette quando possibile. Sapresti aiutarla?
La prima riga del file di input contiene un intero , il numero di casi di test. Seguono casi di test, numerati da a . Ogni caso di test è preceduto da una riga vuota.
Ogni caso di test è composto come segue:
Il file di output deve contenere la risposta ai casi di test che sei riuscito a risolvere. Per ogni caso di test che hai risolto, il file di output deve contenere una riga con la dicitura
"Case #test: x
"
dove è il numero del caso di test (a partire da ) e l'intero è il numero di giorni di cammino che servono a Noemi per raggiungere la sua meta.
Nei primi casi di test la rete di strade è un albero: M = N-1.
Input:
3
6 7
0 1
2 1
5 4
3 5
0 2
2 4
3 0
3 3 1 2 3 2
6 6
0 1
2 1
5 4
0 1
3 0
2 4
3 1 3 2 1 3
5 4
0 1
3 1
2 3
4 2
3 3 2 1 1
Output:
Case #1: 2
Case #2: 2
Case #3: 3
Nel primo caso d'esempio Noemi può:
in totale Noemi cammina giorni, e non si può fare di meglio.
Nel secondo caso d'esempio Noemi può:
in totale Noemi cammina giorni, e non si può fare di meglio.
Nel terzo caso d'esempio la disposizione delle città di Truffandia è: