Manhattan

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;
}

3 commenti su “Manhattan”

  1. Sarebbe possibile sbloccare i commenti anche sugli altri articoli, in modo da contattarsi più facilmente in caso di dubbi?

Lascia un commento