#include #include #include using namespace std; const int MAXD = 100; const int INF = MAXD*MAXD+1; struct sq { int dr, dc; int lfrom, lto; // length from start, length to destionation int pnum; // path number - used to determine closed loop paths } grid[MAXD][MAXD]; void printGrid(int n, int m) { for(int i=0; i= n || r < 0 || c >= m || c<0) break; } cout << "Case " << ++icase << ": "; if (bestlen == INF) cout << "impossible" << endl; else if (bestlen == initlen) cout << "none " << initlen << endl; else { cout << bestr << ' ' << bestc << ' '<< abs(bestdr+bestdc); if (bestdr < 0) cout << 'N'; else if (bestdr > 0) cout << 'S'; else if (bestdc > 0) cout << 'E'; else cout << 'W'; cout << ' ' << bestlen << endl;; } cin >> n >> m; } }