蒟蒻55pts求救
查看原帖
蒟蒻55pts求救
519384
Link_Cut_Y楼主2022/3/25 12:17
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <map>
#include <queue>

using namespace std;

string s[35];
map<string, int> Map;
queue<string> q;
int n;
int res = 0x3f3f3f3f;

int main()
{
	scanf("%d", &n);
	
	for (int i = 1; i <= n; i ++ )
		cin >> s[i], q.push(s[i]), Map[s[i]] ++ ;
		
	while (q.size() <= 1e5)
	{
		auto t = q.front();
		q.pop();
		
		for (int i = 1; i <= n; i ++ )
			q.push(t + s[i]), Map[t + s[i]] ++ ;
	}
	
	for (auto it : Map)
	{
		if (it.second >= 3)
			res = min(res, (int)it.first.size());
	}
	
	return cout << (res == 0x3f3f3f3f ? -1 : res) << endl, 0;
}
2022/3/25 12:17
加载中...