Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream fin("betasah.in");
- ofstream fout("betasah.out");
- int n, d, k, i, j, l, mat[101][101], pozDame[50], pozGri[50], nrPatratePeLinie, nrmaxPatrate, nrPozitii;
- int main() {
- fin >> n >> d >> k;
- for (i = 1; i <= d * 2; i++) fin >> pozDame[i];
- for (i = 1; i <= k * 2; i++) fin >> pozGri[i];
- //bordarea ***********************************************
- for (i = 1; i <= n; i++)
- for (j = 1; j <= n; j++)
- if (i == j)
- for (l = j + 1; l <= n; l++)
- mat[i][l] = 1;
- //generarea matricei *************************************
- for (i = 1; i <= n; i++)
- for (j = 1; j <= n; j++) {
- for (l = 1; l <= d * 2; l += 2)
- if (i == pozDame[l] && j == pozDame[l + 1])
- mat[i][j] = 2;
- for (l = 1; l <= k * 2; l += 2)
- if (i == pozGri[l] && j == pozGri[l + 1])
- mat[i][j] = 1;
- }
- //numarul maxim de patrate albe **************************
- for (i = 1; i <= n; i++) {
- for (j = 1; j <= n; j++) {
- if (mat[i][j] == 0 || mat[i][j] == 2) {
- nrPatratePeLinie++;
- }
- if (nrPatratePeLinie > nrmaxPatrate)
- nrmaxPatrate = nrPatratePeLinie;
- }
- nrPatratePeLinie = 0;
- }
- //numarul de patrate accesibile *************************
- for (i = 1; i <= n; i++)
- for (j = 1; j <= n; j++)
- if (mat[i][j] == 2) {
- if (mat[i - 1][j - 1] == 0) mat[i - 1][j - 1] = 3;
- if (mat[i][j - 1] == 0) mat[i][j - 1] = 3;
- if (mat[i + 1][j - 1] == 0) mat[i + 1][j - 1] = 3;
- if (mat[i - 1][j] == 0) mat[i - 1][j] = 3;
- if (mat[i + 1][j] == 0) mat[i + 1][j] = 3;
- if (mat[i - 1][j + 1] == 0) mat[i - 1][j + 1] = 3;
- if (mat[i][j + 1] == 0) mat[i][j + 1] = 3;
- if (mat[i + 1][j + 1] == 0) mat[i + 1][j + 1] = 3;
- }
- for (i = 1; i <= n; i++)
- for (j = 1; j <= n; j++)
- if (mat[i][j] == 3)
- nrPozitii++;
- //afisarea **********************************************
- fout << nrmaxPatrate << '\n';
- fout << nrPozitii << '\n';
- for (i = 1; i <= n; i++) {
- for (j = 1; j <= n; j++)
- fout << mat[i][j] << ' ';
- fout << '\n';
- }
- }
- //valoarea damelor: 2
- //valoarea unui patrat alb: 0
- //valoarea unui patrat gri: 1
- //loc unde poate sa mearga o rgina: 3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement