URI ONLINE JUDGE SOLUTION 1383 - Online Judge

Latest

This is an Online Judge Solution Base Site. We can discuss & Solve any contest solution in Programming.

Friday, April 10, 2020

URI ONLINE JUDGE SOLUTION 1383

Problem Number: 1383
Problem Name: Sudoku
Author’s Name: Maratona de Programação IME-USP Brazil
Timelimit: 1
Problem Category: AD-HOC
Problem Source: https://www.urionlinejudge.com.br/judge/en/problems/view/1383

Solution:

#include <iostream>
#include <string>

using namespace std;

int main(int argc, char const *argv[]) {
  int n, i, j, k, sum = 285, cnt = 0;
  int matriz[9][9];
  string s = "";

  cin >> n;
  while(n--) {
    for(i = 0; i < 9; i++)
      for(j = 0; j < 9; j++)
        cin >> matriz[i][j];

        int sl[9], sc[9], sm[3][3];

        for (i = 0; i < 9; i++)
          sl[i] = sc[i] = sm[i/3][i%3] = 0;

        for (i = 0; i < 9; i++) {
          for (j = 0; j < 9; j++) {
            k = matriz[i][j];
            k *= k;
            sl[i] += k;
            sc[j] += k;
            sm[i/3][j/3] += k;

            if (i == 8 && sc[j] != sum)
              break;
          }

          if (sl[i] != sum)
            break;
        }

        if(s == "")
          for (i = 0; i < 3; i++)
            for (j = 0; j < 3; j++)
              if (sm[i][j] != sum)
                s = "NAO";

        if(s == "")
          s  = "SIM";

        cnt++;
        cout << "Instancia " << cnt << endl << s << endl << endl;
        s = "";
    }

    return 0;
}

No comments:

Post a Comment

Thanks..