广西建设教育协会网站,wordpress商城主题 优化,深圳网络公司推广公司,软件开发工程师职责简单单词接龙
有 n 个单词#xff08; 1≤n≤50 #xff09;#xff0c;每个单词由 2 个小写字母组成#xff0c;并约定第 1 个单词为龙头。 例如#xff1a;n8。8 个单词为#xff1a;aa、ac、ab、de、bh、hk、cd、af
接龙的方法为前一个单词的第 2 个字母和后一个单词…简单单词接龙
有 n 个单词 1≤n≤50 每个单词由 2 个小写字母组成并约定第 1 个单词为龙头。 例如n8。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;cinn;for(int i 0;in;i){cina[i];}aaa(n,0);coutma;return 0;
}
void aaa(int n,int sum)
{if(sumn){return;}for(int i 0;in;i){if(sum0){c[sum] a[0];f[0] 1;ma max(ma,sum1);aaa(n,sum1);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,sum1);aaa(n,sum1);f[i] 0;}}return;
}