Submission #62424

#TimeUsernameProblemLanguageResultExecution timeMemory
62424NnandiBoard (CEOI13_board)C++14
70 / 100
1081 ms2492 KiB
#include <bits/stdc++.h> #define INF 1000000000 using namespace std; string s1, s2; vector<bool> v1, v2; void get_exp(string &str, vector<bool> &vb) { vb.push_back(true); for(char c:str) { if(c=='1') { vb.push_back(false); } if(c=='2') { vb.push_back(true); } if(c=='U') { vb.resize(vb.size()-1); } if(c=='R') { int it=vb.size()-1; while(it >= 0 && vb[it] == true) { it--; } vb[it]=true; it++; for(;it<vb.size();it++) { vb[it] =false; } } if(c=='L') { int it=vb.size()-1; while(it >= 0 && vb[it] == false) { it--; } vb[it]=false; it++; for(;it<vb.size();it++) { vb[it] =true; } } } return; } int main() { ios_base::sync_with_stdio(false); cin>>s1; cin>>s2; get_exp(s1,v1); get_exp(s2,v2); int dist_min = v1.size() -1 + v2.size() -1; bool kell = true; int elt = 0; for(int i=0;i<min(v1.size(),v2.size()) && kell;i++) { elt *= 2; if(v2[i] && !v1[i]) { elt ++; } if(!v2[i] && v1[i]) { elt --; } int now_cost = v1.size() + v2.size() - 2*(i+1) + abs(elt); if(dist_min > now_cost) { dist_min = now_cost; } if(now_cost > INF) { kell = false; } } cout<<dist_min<<endl; return 0; }

Compilation message (stderr)

board.cpp: In function 'void get_exp(std::__cxx11::string&, std::vector<bool>&)':
board.cpp:28:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(;it<vb.size();it++) {
                  ~~^~~~~~~~~~
board.cpp:39:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(;it<vb.size();it++) {
                  ~~^~~~~~~~~~
board.cpp: In function 'int main()':
board.cpp:57:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<min(v1.size(),v2.size()) && kell;i++) {
                 ~^~~~~~~~~~~~~~~~~~~~~~~~~
#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...