Submission #366378

#TimeUsernameProblemLanguageResultExecution timeMemory
366378kartelPatkice (COCI20_patkice)C++14
30 / 50
1 ms364 KiB
#include <bits/stdc++.h> #define in(x) freopen(x, "r", stdin) #define out(x) freopen(x, "w", stdout) //#include <time.h> //#include <ext/pb_ds/assoc_container.hpp> //#include <ext/pb_ds/tree_policy.hpp> //#pragma GCC optimize("Ofast") //#pragma GCC optimize("unroll-loops") //#pragma GCC optimize("-O3") #define F first #define S second #define pb push_back #define M ll(1e9 + 7) #define sz(x) (int)x.size() #define re return #define oo ll(1e18) #define el '\n' #define pii pair <int, int> #define all(x) (x).begin(), (x).end() #define arr_all(x, n) (x + 1), (x + 1 + n) #define vi vector<int> using namespace std; typedef long long ll; //using namespace __gnu_pbds; //typedef tree <ll, null_type, less_equal <ll> , rb_tree_tag, tree_order_statistics_node_update> ordered_set; typedef long double ld; typedef unsigned long long ull; typedef short int si; const int N = 150; int mp[300]; char cn[6]; int steps[4][2] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}}; int n, m; char c[N][N]; bool mrk[N][N], fnd; void go(int x, int y) { if (x < 1 || y < 1 || x > n || y > m || mrk[x][y]) return; if (c[x][y] == 'x') { fnd = 1; return; } if (c[x][y] == '.' || c[x][y] == 'o') return; mrk[x][y] = 1; go(x + steps[mp[c[x][y]]][0], y + steps[mp[c[x][y]]][1]); mrk[x][y] = 0; } int main() { // mt19937 rnd(chrono::steady_clock::now().time_since_epoch().count());; ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); // in("product.in"); // out("product.out"); // in("input.txt"); // out("output.txt"); // clock_t tStart = clock(); mp['>'] = 0; mp['<'] = 1; mp['v'] = 2; mp['^'] = 3; cn[0] = 'E'; cn[1] = 'W'; cn[2] = 'S'; cn[3] = 'N'; cin >> n >> m; int sx, sy; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { cin >> c[i][j]; if (c[i][j] == 'o') sx = i, sy = j; } } for (int p = 0; p < 4; p++) { int cx = sx + steps[p][0]; int cy = sy + steps[p][1]; fnd = 0; go(cx, cy); if (fnd) return void(cout << ":)" << el << cn[p]), 0; } cout << ":("; }

Compilation message (stderr)

patkice.cpp: In function 'void go(int, int)':
patkice.cpp:53:27: warning: array subscript has type 'char' [-Wchar-subscripts]
   53 |     go(x + steps[mp[c[x][y]]][0], y + steps[mp[c[x][y]]][1]);
      |                     ~~~~~~^
patkice.cpp:53:54: warning: array subscript has type 'char' [-Wchar-subscripts]
   53 |     go(x + steps[mp[c[x][y]]][0], y + steps[mp[c[x][y]]][1]);
      |                                                ~~~~~~^
patkice.cpp: In function 'int main()':
patkice.cpp:91:13: warning: 'sy' may be used uninitialized in this function [-Wmaybe-uninitialized]
   91 |         int cy = sy + steps[p][1];
      |             ^~
patkice.cpp:90:13: warning: 'sx' may be used uninitialized in this function [-Wmaybe-uninitialized]
   90 |         int cx = sx + steps[p][0];
      |             ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...