求助,调了两天了
查看原帖
求助,调了两天了
1101266
Fe_CuSO4__FeSO4_Cu楼主2025/8/4 12:29

搜索代码(很拙劣)4WA

#include <bits/stdc++.h>
using namespace std;
#define N 1020
#define ll long long
#define lb i&(-i)
#define lt p*2
#define rt p*2+1
string s[N];
vector<string>q(N);
int n;
unordered_map<string,bool>v;
void dfs(int d)
{
	if(d==n+1)
	{
		for(int i=0;i<n-1;i++) cout<<q[i]<<".";
		cout<<q[n-1];
		exit(0);
	}
	for(int i=1;i<=n;i++)
	{
		if(v[s[i]]) continue;
		if(d==1)
		{
			v[q[d-1]]=0;
			q[d-1]=s[i];
			v[s[i]]=1;
			dfs(d+1);
		}
		else
		{
			string ed=q[d-2];
			if(s[i][0]==ed[ed.size()-1]) 
			{
				v[q[d-1]]=0;
				q[d-1]=s[i];
				v[s[i]]=1;
				dfs(d+1);
			}
		}
	}
}

int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>s[i];
	}
	sort(s+1,s+1+n);
	dfs(1);
	cout<<"***";
	return 0;
}
2025/8/4 12:29
加载中...