CodeVS 1018 单词接龙 题解

#include 
#include 
#include 
#include 
#include 
using namespace std;

int N, ans;
char word[20+2][255+2], root;
int connect[20+2][20+2];
int cnt[20+2];

void DFS(int n, int len){
	for(int i = 0; ians) ans = len;
	return;
}

int Con(int a, int b){
	char *p1, *p2;
	p1 = word[a]+strlen(word[a])-1;
	while(p1!=word[a]){
		p2 = strstr(word[b], p1);
		if(p2 == NULL || p2 != word[b]){
			--p1;
			continue;
		}
		return strlen(word[b])-strlen(p1);
	}
	return 0;
}

int main() {
	cin >> N;
	for(int i = 0; i> word[i];
	cin >> root;
	for(int i = 0; i

你可能感兴趣的:(深度优先搜索)