Submission #129110

#TimeUsernameProblemLanguageResultExecution timeMemory
129110mahmoudbadawyLamps (JOI19_lamps)C++17
0 / 100
1073 ms19676 KiB
#include <bits/stdc++.h> using namespace std; string a,b; int n; map<string,int> dis; map<string,string > st; int main() { cin >> n >> a >> b; queue<string> q; q.push(a); dis[a]=0; while(q.size()) { string s=q.front(); q.pop(); if(s==b) break; for(int i=0;i<n;i++) { string sd=s; for(int j=i;j<n;j++) { sd[j]='0'; if(dis.count(sd)) continue; dis[sd]=dis[s]+1; st[sd]=s; q.push(sd); } } for(int i=0;i<n;i++) { string sd=s; for(int j=i;j<n;j++) { sd[j]='1'; if(dis.count(sd)) continue; dis[sd]=dis[s]+1; st[sd]=s; q.push(sd); } } for(int i=0;i<n;i++) { string sd=s; for(int j=i;j<n;j++) { sd[j]=(1-(s[j]-'0'))+'0'; if(dis.count(sd)) continue; dis[sd]=dis[s]+1; st[sd]=s; q.push(sd); } } } cout << dis[b] << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...