# PBinfo #1888 – Cartonașe – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

Cerința
Vlad este pasionat de jocuri și vrea să vă propună unul. Pe o tablă cu n linii și m coloane, inițial goală, se așază la fiecare mutare un cartonaș în căsuța de coordonate x și y cu un număr pe el reprezentând numărul de vecini (Nord, Sud, Est, Vest) deja completați. Primul cartonaș pus este 0 deoarece nu este nimic completat încă. Întrebarea este care este suma tuturor numerelor de pe cartonașele așezate pe tabla după ce aceasta este completată?

Date de intrare
Fișierul de intrare cartonase.in conține pe prima linie numerele n și m, și pe următoarele n*m linii câte o pereche de numere x și y cu semnificația că se pune un cartonaș în căsuța cu aceste coordonate.

Date de ieșire
Fișierul de ieșire cartonase.out va conține pe prima linie numărul S, reprezentând suma numerelor de pe cartonașe.

Restricții și precizări

1 ≤ n, m ≤ 10.000

Exemplu:
cartonase.in

2 5
2 4
2 5
1 1
1 3
1 5
2 2
1 4
1 2
2 3
2 1
cartonase.out

13
Explicație
Suma cartonașelor este 13.

## Cod sursă C++

```cpp
#include <fstream>
using namespace std;
int main()
{
    ifstream fin ("cartonase.in");
    ofstream fout ("cartonase.out");
    int n, m;
    fin >> n >> m;
    fout << 2*(n-1)*(m-1)+(n-1)+(m-1);
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/1888)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/1888/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-1888/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
