简单单词接龙

有 n 个单词( 1≤n≤50 ),每个单词由 2 个小写字母组成,并约定第 1 个单词为龙头。 例如:n=8。8 个单词为:aa、ac、ab、de、bh、hk、cd、af

接龙的方法为前一个单词的第 2 个字母和后一个单词的第 1 个字符相同

此时,可接的方法有: aa-ac-cd-de 长度为 4 ,即龙上有 4 个单词。

 也可以接:aa-ab-bh-hk,长度为 4 。

还可以接:aa-af,长度为 2。

程序要求给出单词之后,求出最长龙的长度。

输入复制

7

aa

ac

ab

de

bh

hk

cd

输出复制

4

#include <iostream>
#include <string>
using namespace std;
string a[100];
string c[100];
int ma = 0;
int f[100];
void aaa(int,int);
int main()
{
	int n;
	cin>>n;
	
	for(int i = 0;i<n;i++)
	{
		cin>>a[i];
	}
	aaa(n,0);
	cout<<ma;
	return 0;
}
void aaa(int n,int sum)
{
	if(sum>=n)
	{
		
		return;
	}
	for(int i = 0;i<n;i++)
	{
		if(sum==0)
		{
			c[sum] = a[0];
			f[0] = 1;
			ma = max(ma,sum+1);
			aaa(n,sum+1);
			f[0] = 0;
		}
		else if(c[sum-1][1]==a[i][0]&&f[i]==0)
		{
			c[sum] = a[i];
			f[i] = 1;
			ma = max(ma,sum+1);
			aaa(n,sum+1);
			f[i] = 0;
		}
	}
	
	return;
}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐