SHOW:
|
|
- or go back to the newest paste.
1 | #include <fstream> | |
2 | using namespace std; | |
3 | ||
4 | - | ifstream inFile("duom.txt"); |
4 | + | ifstream inFile("data.txt"); |
5 | - | ofstream outFile("rez.txt"); |
5 | + | ofstream outFile("results.txt"); |
6 | - | int n, sudoku[10][10]; |
6 | + | int n, sudoku[10][10], sumH[20], sumV[20]; |
7 | bool bSum=false, bSkirt=false; | |
8 | - | void ivedimas(){ |
8 | + | |
9 | void input(){ | |
10 | inFile >> n; | |
11 | ||
12 | for(int i=0;i<n;i++){ | |
13 | for(int m=0;m<n;m++){ | |
14 | inFile >> sudoku[i][m]; | |
15 | } | |
16 | } | |
17 | inFile.close(); | |
18 | - | void sprendimas(){ |
18 | + | |
19 | - | int sumaH[20], sumaV[20]; |
19 | + | void sum(){ |
20 | for(int i=0;i<n;i++){ | |
21 | sumH[i]=0; | |
22 | sumV[i]=0; | |
23 | - | sumaH[i]=0; |
23 | + | |
24 | - | sumaV[i]=0; |
24 | + | sumH[i]+=sudoku[i][m]; |
25 | sumV[i]+=sudoku[m][i]; | |
26 | - | sumaH[i]+=sudoku[i][m]; |
26 | + | |
27 | - | sumaV[i]+=sudoku[m][i]; |
27 | + | |
28 | ||
29 | for(int i=0;i<n;i++){ | |
30 | for(int m=0;m<n;m++){ | |
31 | if(sumH[i]==sumH[m] && sumV[i]==sumH[m]){ | |
32 | bSum = true; | |
33 | - | if(sumaH[i]==sumaH[m] && sumaV[i]==sumaH[m]){ |
33 | + | |
34 | bSum = false; | |
35 | break; | |
36 | ||
37 | } | |
38 | } | |
39 | } | |
40 | } | |
41 | void difference(){ | |
42 | for(int i=0;i<n;i++){ | |
43 | for(int m=1;m<n;m++){ | |
44 | if(sudoku[0][i]!=sudoku[m][i] && sudoku[i][0]!=sudoku[i][m]){ | |
45 | bSkirt = true; | |
46 | }else{ | |
47 | bSkirt = false; | |
48 | break; | |
49 | } | |
50 | } | |
51 | } | |
52 | } | |
53 | ||
54 | int main(){ | |
55 | - | outFile << "Taip" << endl << sumaH[0]; |
55 | + | |
56 | input(); | |
57 | - | outFile << "Ne"; |
57 | + | sum(); |
58 | difference(); | |
59 | ||
60 | if(bSum&&bSkirt){ | |
61 | outFile << "It is valid!"; | |
62 | }else{ | |
63 | outFile << "It is not!"; | |
64 | } | |
65 | - | ivedimas(); |
65 | + | |
66 | - | sprendimas(); |
66 | + | |
67 | return 0; | |
68 | } |