제출 #129110

#제출 시각아이디문제언어결과실행 시간메모리
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...