Cerința
În clasa a IX-a A sunt M elevi, numerotați de la 1 la M și fiecare are un număr preferat P. Plictisiți de ora de informatică, au inventat următorul joc:
- pe o foaie de matematică desenează o tablă de joc de dimensiune
N, formată dinNlinii șiNcoloane, numerotate de la1laN; fiecare linie și fiecare coloană are câteNpătrățele - fiecare elev alege un pătrățel și desenează un
Xcentrat în pătrățelul ales, fiecare din cele4laturi având cel multPpătrățele desenate, fără a ieși de pe tabla de joc (să nu mâzgălească banca!!). - icsurile desenate de elevi se pot suprapune.
În figura de mai jos este reprezentat un X desenat de elevul care alege pătrățelul de coordonate i j și preferă numărul 3.

Cunoscând dimensiunea N a tablei de joc, numărul M de elevi, coordonatele alese de fiecare elev și numărul preferat al fiecărui elev, determinați câte pătrățele de pe tablă rămân nedesenate.
Date de intrare
Programul citește de la tastatură numărul N M, iar apoi M triplete i j p, reprezentând coordonatele pătrățelului ales și numărul preferat de fiecare elev.
Date de ieșire
Programul va afișa pe ecran numărul de pătrățele nedesenate.
Restricții și precizări
1 ≤ N ≤ 10001 ≤ M ≤ 1000001 ≤ i,j ≤ N0 ≤ p ≤ N/2
Exemplu
Intrare
10 5 1 2 1 6 6 3 7 3 2 2 5 2 9 8 3
Ieșire
62
Explicație
Exemplul corespunde tablei de joc de mai jos. Unele pătrățele au fost desenate de mai multe ori.

#include <bits/stdc++.h>
using namespace std;
int a[1001][1001];
int di[]={-1, -1, 1, 1};
int dj[]={-1, 1, -1, 1};
int main()
{
int n , s , cnt=0 , i , j , nr;
cin >> n >> s;
for(int h = 1; h <= s; h++)
{
cin >> i >> j >> nr;
a[i][j] = 1;
for(int k = 1; k <= nr; k++)
for(int q = 0; q < 4; q++)
{
int i1 = i + k * di[q];
int j1 = j + k * dj[q];
if(i1 >= 1 && i1 <= n && j1 >= 1 && j1 <= n)
a[i1][j1] = 1;
}
}
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
if(a[i][j] == 1)
cnt++;
cout << n * n - cnt;
return 0;
}