제출 #757459

#제출 시각아이디문제언어결과실행 시간메모리
757459The_SamuraiTracks in the Snow (BOI13_tracks)C++17
0 / 100
2096 ms165584 KiB
#include "bits/stdc++.h" using namespace std; int INF = 1e9; vector<int> dx = {1, -1, 0, 0}; vector<int> dy = {0, 0, 1, -1}; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); clock_t startTime = clock(); int n, m; cin >> n >> m; vector<vector<char>> a(n, vector<char>(m, '.')); auto nw = a; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cin >> a[i][j]; } } if (max(n, m) == 1) { cout << 1; return 0; } vector<pair<int, int>> can = {{0, 0}}; vector<vector<bool>> vis(n, vector<bool>(m)); char x = a[0][0]; nw[0][0] = x; vis[0][0] = true; int ans = 0; cout << 1 << endl; while (nw != a) { ans++; for (int p = 0; p < can.size(); p++) { auto [i, j] = can[p]; for (int k = 0; k < 4; k++) { int ii = i + dx[k]; int jj = j + dy[k]; if (min(ii, jj) < 0 or ii == n or jj == m) continue; if (vis[ii][jj]) continue; if (a[ii][jj] == x) { can.emplace_back(ii, jj); vis[ii][jj] = true; nw[ii][jj] = x; } } } // for (int i = 0; i < n; i++) { // for (int j = 0; j < m; j++) { // cout << nw[i][j]; // } // cout << endl; // } // cout << endl; x = (x == 'R' ? 'L' : 'R'); } cout << ans; #ifdef sunnitov cerr << "\nTime: " << (int)((double)(clock() - startTime) / CLOCKS_PER_SEC * 1000); #endif } /* FFR..... .FRRR... .FFFFF.. ..RRRFFR .....FFF */

컴파일 시 표준 에러 (stderr) 메시지

tracks.cpp: In function 'int main()':
tracks.cpp:35:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |         for (int p = 0; p < can.size(); p++) {
      |                         ~~^~~~~~~~~~~~
tracks.cpp:11:13: warning: unused variable 'startTime' [-Wunused-variable]
   11 |     clock_t startTime = clock();
      |             ^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...