Cod sursa(job #3246058)

Utilizator lutsch_arthurMatei Lutsch lutsch_arthur Data 1 octombrie 2024 18:16:08
Problema Problema Damelor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.34 kb
Iată codul actualizat pentru a utiliza `ifstream` și `ofstream` pentru a citi dintr-un fișier de intrare și a scrie într-un fișier de ieșire, folosind variabilele `fin` și `fout`:

```cpp
#include <iostream>
#include <fstream>
using namespace std;

int n, totalSolutii = 0;
int dame[14];
bool coloanaUtilizata[14], diagonala1[25], diagonala2[25];
bool gasitaPrima = false;

void rezolva(int rand, ofstream &fout) {
    if (rand == n + 1) {
        totalSolutii++;
        if (!gasitaPrima) {
            for (int i = 1; i <= n; i++) {
                fout << dame[i] << " ";
            }
            fout << "\n";
            gasitaPrima = true;
        }
        return;
    }

    for (int col = 1; col <= n; col++) {
        if (!coloanaUtilizata[col] && !diagonala1[rand - col + n - 1] && !diagonala2[rand + col]) {
            dame[rand] = col;
            coloanaUtilizata[col] = diagonala1[rand - col + n - 1] = diagonala2[rand + col] = true;

            rezolva(rand + 1, fout);

            coloanaUtilizata[col] = diagonala1[rand - col + n - 1] = diagonala2[rand + col] = false;
        }
    }
}

int main() {
    ifstream fin("damesah.in");
    ofstream fout("damesah.out");

    fin >> n;

    rezolva(1, fout);

    fout << totalSolutii << "\n";

    return 0;
}
```

Dacă ai nevoie de alte modificări sau întrebări, nu ezita să îmi spui!