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: download.c
- Scarica la traccia in C++: download.cpp
- Scarica la traccia in C#: download.cs
- Scarica la traccia in Go: download.go
- Scarica la traccia in JavaScript: download.html
- Scarica la traccia in Java: download.java
- Scarica la traccia in Pascal: download.pas
- Scarica la traccia in Python: download.py
- Scarica la traccia in VisualBasic: download.vb
Descrizione del problema
Monica ha regalato un nuovo hard disk a Mojito, il suo cagnolino. Si sa, Mojito è un grande amante di filmati e canzoni, quindi ha intenzione di riempire tutto lo spazio del suo hard disk scaricando quanti più filmati e canzoni possibili!
È importante menzionare che Mojito preferisce di gran lunga i filmati alle canzoni, quindi comincerà subito a scaricare quanti più filmati possibile. Nel caso in cui lo spazio rimanente sull'hard disk non gli desse altra scelta, Mojito ripiegherà sulle canzoni e comincerà quindi a scaricarne fino a riempire completamente l'hard disk.
I gusti di Mojito non sono molto vari, i filmati che gli interessano hanno tutti la stessa dimensione, e lo stesso vale per le canzoni. Per l'esattezza, tutti i filmati hanno una dimensione di byte e tutte le canzoni hanno una dimensione di byte.
Sapendo che il nuovo hard disk ha una capacità di byte, scrivi un programma che calcoli il numero di filmati ed il numero di canzoni che Mojito scaricherà , sapendo che il cane darà preferenza ai filmati.
Dati di input
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.
Ciascun caso di test è composto da una sola riga, contenente tre numeri interi separati da uno spazio, rispettivamente: la capacità in byte dell'hard disk, la dimensione in byte dei filmati e la dimensione in byte delle canzoni.
Dati di output
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: nf nc
dove t
è il numero del caso di test (a partire da ) e i valori nf
, nc
sono il numero di filmati e canzoni che Mojito scaricherà .
Assunzioni
- , nei file di input che scaricherai saranno presenti esattamente casi di test.
- .
- Non è detto che i filmati occupino più spazio delle canzoni.
Esempi di input/output
Input:
2
1000 300 10
1000 30 50
Output:
Case #1: 3 10
Case #2: 33 0
Spiegazione
Nel primo caso d'esempio, Mojito può scaricare 3 filmati e 10 canzoni per un occupazione totale di byte e riempire così l'hard disk completamente. Non può invece scaricare 4 filmati, perché il totale verrebbe di che eccede la capacità dell'hard disk.
Nel secondo caso d'esempio, Mojito può scaricare 33 filmati per un occupazione totale di byte. Nello spazio rimanente non è possibile scaricare canzoni.
Formato di input
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:
- una riga contenente i tre interi , , .
Formato di output
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:
", dove test
è il numero del caso di test (a partire da ), seguita dai due interi , .