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: calcio.c
- Scarica la traccia in C++: calcio.cpp
- Scarica la traccia in Python: calcio.py
- Scarica la traccia in Java: calcio.java
- Scarica la traccia in C#: calcio.cs
- Scarica la traccia in JavaScript: calcio.html
Data la sua passione per il calcio, Valerio ha deciso di creare un campo da calcio nella foresta vicino a casa sua.
La foresta può essere rappresentata come una griglia di righe (numerate da a ) e colonne (numerate da a ).
Il campo che Valerio vuole creare ha forma rettangolare e occupa uno spazio di righe e colonne.
Può scegliere dove posizionarlo, ma deve essere completamente all'interno della foresta.
Purtroppo però nella foresta sono presenti alberi e Valerio sarà costretto ad abbaterne qualcuno.
Aiuta Valerio a calcolare qual è il minimo numero di alberi che deve abbattere per creare il campo da calcio.
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 #t: x
dove t
è il numero del caso di test (a partire da ) e il valore x
è il numero minimo di alberi che Valerio deve abbattere.
Input:
2
3 4 4 2 3
1 2
1 1
0 1
1 2
5 3 6 2 2
1 1
0 2
3 1
4 1
1 0
2 2
Output:
Case #1: 3
Case #2: 1
Nel primo caso d'esempio, Valerio può creare il campo da calcio abbattendo alberi.
Nel secondo caso d'esempio, Valerio può creare il campo da calcio abbattendo albero.