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:
#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.
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