Advertisement
RnD

sudoku check

RnD
Dec 6th, 2012
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.32 KB | None | 0 0
  1. #include <fstream>
  2. using namespace std;
  3.  
  4.     ifstream inFile("duom.txt");
  5.     ofstream outFile("rez.txt");
  6.     int n, sudoku[10][10];
  7.  
  8. void ivedimas(){
  9.     inFile >> n;
  10.  
  11.     for(int i=0;i<n;i++){
  12.         for(int m=0;m<n;m++){
  13.             inFile >> sudoku[i][m];
  14.         }
  15.     }
  16.     inFile.close();
  17. }
  18. void sprendimas(){
  19.     int sumaH[20], sumaV[20];
  20.     bool bSum=false, bSkirt=false;
  21.  
  22.     for(int i=0;i<n;i++){
  23.         sumaH[i]=0;
  24.         sumaV[i]=0;
  25.         for(int m=0;m<n;m++){
  26.             sumaH[i]+=sudoku[i][m];
  27.             sumaV[i]+=sudoku[m][i];
  28.         }
  29.     }
  30.  
  31.     for(int i=0;i<n;i++){
  32.         for(int m=0;m<n;m++){
  33.             if(sumaH[i]==sumaH[m] && sumaV[i]==sumaH[m]){
  34.                 bSum = true;
  35.             }else{
  36.                 bSum = false;
  37.                 break;
  38.  
  39.             }
  40.         }
  41.     }
  42.  
  43.     for(int i=0;i<n;i++){
  44.         for(int m=1;m<n;m++){
  45.             if(sudoku[0][i]!=sudoku[m][i] && sudoku[i][0]!=sudoku[i][m]){
  46.                 bSkirt = true;
  47.             }else{
  48.                 bSkirt = false;
  49.                 break;
  50.             }
  51.         }
  52.     }
  53.  
  54.     if(bSum&&bSkirt){
  55.         outFile << "Taip" << endl << sumaH[0];
  56.     }else{
  57.         outFile << "Ne";
  58.     }
  59.  
  60.     outFile.close();
  61. }
  62.  
  63. int main(){
  64.  
  65.     ivedimas();
  66.     sprendimas();
  67.  
  68.     return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement