TOPIC

Wrong answer (60%)

[GRAPE] Thiago Magalhaes asked 1 year ago

Dica de onde está o erro?

#include <iostream>
#include <stdio.h>
#include <string>

using namespace std;

int main () {

  int m, n, x1, y1, x2, y2, x, i, j, xx, yy;

  while(cin >> m >> n) {
    for (i = 0; i < n; i++)
      for (j = 0; j < m; j++) {
        cin >> x;
        if (x == 1) {
          x1 = i;
          y1 = j;
        }
        if (x == 2) {
          x2 = i;
          y2 = j;
        }
      }

    if (x1 > x2)
      xx = x1 - x2;
    else
      xx = x2 - x1;

    if (y1 > y2)
      yy = y1 - y2;
    else
      yy = y2 - y1;

    cout << (xx + yy) << endl;
  }
}

Remember not post solutions. Your post may be reviewed by our moderators.

  • feodorv replied 10 months ago

    Line #11:

      while(cin >> m >> n) {

    Seems that it should be

      while(cin >> n >> m) {

    Oh, you've already solved the problem...

  • Eduardo Mior replied 10 months ago

    Tem que fazer um else if pois X e o Y podem ser os mesmos, ou seja, eles podem estra na mesma linha na horizontal ou vertical... tirando isso da identico ao meu.