제출 #257065

#제출 시각아이디문제언어결과실행 시간메모리
257065doowey게임판 (CEOI13_board)C++14
70 / 100
1094 ms1512 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; #define fi first #define se second #define mp make_pair #define fastIO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); vector<int> gen(string t){ vector<int> res = {1}; for(char x : t){ if(x == '1') res.push_back(0); else if(x == '2') res.push_back(1); else if(x == 'U'){ res.pop_back(); } else if(x == 'L'){ int id = res.size() - 1; while(id >= 0){ if(res[id] == 0){ res[id] ^= 1; } else{ res[id] ^= 1; break; } id -- ; } } else{ int id = res.size() - 1; while(id >= 0){ if(res[id] == 0){ res[id] ^= 1; break; } else{ res[id] ^= 1; } id -- ; } } } return res; } const ll MX = (int)1e9 + 7; const int N = (int)2e5 + 10; int main(){ fastIO; string a, b; cin >> a >> b; vector<int> p = gen(a), q = gen(b); if(p.size() > q.size()) swap(p,q); ll low = (int)p.size() - 1 + (int)q.size() - 1; ll dif = 0; int side = -1; for(int com = 0; com < min(p.size(), q.size()); com ++ ){ dif *= 2ll; if(dif >= MX) break; if(p[com] != q[com]){ if(side == -1){ if(p[com] == 1) side = 0; else side = 1; } if(p[com] == 1){ if(side == 0) dif ++ ; else dif -- ; } else{ if(side == 1) dif ++ ; else dif -- ; } } low = min(low, dif + (ll)p.size() - (com + 1) + (ll)q.size() - (com + 1)); } cout << low << "\n"; return 0; }

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

board.cpp: In function 'int main()':
board.cpp:64:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int com = 0; com < min(p.size(), q.size()); com ++ ){
                      ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...