Informatică, întrebare adresată de c10crys, 8 ani în urmă

AJUTOR,VA ROG. DAU COROANA!
Te joci Sudoku împreună cu sora ta, iar acela dintre voi care termină primul de completat propriul joc câștigă.
Totuși, ai început să observi că ea termină jocurile prea repede, a reușit să te bată 9/10 ture! E a 11a tură și pare că vei pierde și de data asta. Trebuie să îți dai seama cumva dacă trișează...
Ți se dă o matrice reprezentând configurația finală a tablei sale de Sudoku. Verifică dacă aceasta e o configurație validă, conform regulilor jocului.
Date de intrare
Se citește configurația unui joc de sudoku, format din 9 linii care conțin câte 9 numere întregi fiecare, cu valori între 1 și 9.
Date de ieșire
Afișează mesajul corect dacă matricea citită formează o configurație validă de Sudoku sau incorect, în caz contrar.
Date de intrare
3 6 9 1 2 4 5 8 7
7 2 8 6 5 9 3 1 4
1 4 5 7 3 8 2 6 9
2 9 7 3 6 1 8 4 5
5 8 3 9 4 2 6 7 1
6 1 4 5 8 7 9 2 3
9 7 2 8 1 5 4 3 6
4 5 6 2 7 3 1 9 8
8 3 1 4 9 6 7 5 2
Date de iesire
corect

Răspunsuri la întrebare

Răspuns de raulardelean10
0

Răspuns:

#include <iostream>

#include <fstream>

#include <cmath>

#include <string>

#include <iomanip>

#include <algorithm>

using namespace std;

int a[10][10];

int veriflinie(int a[][10])

{

int ok=true;

for(int i=1;i<=9;++i)

{

for(int j=1;j<=9;++j)

{

int cnt=0;

for(int k=1;k<=9;++k)

{

if(a[i][j]==a[i][k])

cnt++;

if(cnt==2)

ok=false;

break;

}

}

}

if(ok==true)

return 1;

else

return 0;

}

int verifcoloana(int a[][10])

{

int ok=true;

for(int j=1;j<=9;++j)

{

for(int i=1;i<=9;++i)

{

int cnt=0;

for(int k=1;k<=9;++k)

{

if(a[i][j]==a[k][j])

cnt++;

if(cnt==2)

{

ok=false;

break;

}

}

}

}

if(ok==true)

return 1;

else

return 0;

}

int main()

{

for(int i=1;i<=9;++i)

for(int j=1;j<=9;++j)

cin>>a[i][j];

int vAl=veriflinie(a);

int vAc=verifcoloana(a);

if(vAl==1 && vAc==1)

cout<<"corect";

else

cout<<"incorect";

return 0;

}

Am verificat daca pe fiecare linie sau coloana daca exista 2 nr lafel.

vAl=valoare adevar linie

vAc=valoare adevar coloana

Daca nu intelegi codul, nu ezita sa imi scrii.


c10crys: Test Timp Scor
1 0.0283 11
2 0.0283 11
3 0.0284 11
4 0.0286 11
5 0.0285 Răspuns greșit
6 0.0285 Răspuns greșit
7 0.0289 Răspuns greșit
8 0.0285 11
9 0.0282 Răspuns greșit
c10crys: Din pacate iau 55 de puncte pe cod din 100
Alte întrebări interesante