Esercizi preparatori – Intermedi
Il sistema delle strade del quartiere Manhattan di New York è molto interessante; ci sono n strade che vanno da ovest a est (dette avenue) e m strade che vanno da nord a sud (dette street).
La larghezza di tutte queste strade è uguale a d metri e la loro lunghezza è uguale a l (elle) metri.
Ogni street incrocia ciascuna avenue e non ha punti in comune con altre street; ogni avenue incrocia ogni street e non ha punti di incontro con altre avenue.
Sia le street sia le avenue sono pavimentate con asfalto.
Il responsabile del servizio di manutenzione vuole sapere l’area della superficie asfaltata in metri quadri.
Nelle intersezioni, l’asfalto viene messo solo una volta.
Scrivere un programma per calcolare questa l’area.Dati di input
Il file di input contiene i quattro numeri interi n, m, d, l (0 < n, m, d, l < 109+1, l > md, l > nd). (?)
Dati di output
Stampare la misura richiesta.
Esempi di input/output
input.txt output.txt 1 1 5 10 75 100 10 23 4560 11007800 Autore
A.S. Stankevich, ACM ICPC Team, St. Petersburg State University of Information Technology, Mechanics and Optics
/* www.valcon.it Esercizi preparatori - Intermedi - Manhattan */ #include#include using namespace std; int main() { ifstream fin ( "input.txt"); ofstream fout("output.txt"); long n, // num. avenue m, // num. street d, // larghezza l, // lunghezza risultato; // ??? fin >> n >> m >> d >> l; // INPUT /* Le strade sono lunghe (n+m)*l La superficie (n+m)*l*d Il numero di incroci (n*m) La superficie (n*m)*d*d */ risultato=(n+m)*l*d-n*m*d*d; // ELABORAZIONE fout << risultato; // OUTPUT return 0; }
Prima lezione su c++
Sarebbe possibile sbloccare i commenti anche sugli altri articoli, in modo da contattarsi più facilmente in caso di dubbi?
Ho sbloccato i problemi proposti.