Run ID 作者 问题 语言 测评结果 时间 内存 代码长度 提交时间
87277 sh25_shenpy 单词接龙 C++ 通过 0 MS 244 KB 824 2026-04-13 22:25:59

Tests(6/6):


#include <iostream> using namespace std; const int N = 30; int n, vis[N], ans; string s[N]; char c; void dfs(const string &tmp) { ans = max(ans, int(tmp.size())); for (int i = 1; i <= n; ++i) { if (vis[i] >= 2) continue; for (int j = 1; j < min(tmp.size(), s[i].size()); ++j) if (tmp.substr(tmp.size() - j) == s[i].substr(0, j)) { ++vis[i]; dfs(tmp + s[i].substr(j)); --vis[i]; } } } int main() { cin >> n; for (int i = 1; i <= n; ++i) cin >> s[i]; cin >> c; for (int i = 1; i <= n; ++i) if (s[i][0] == c) { ++vis[i]; dfs(s[i]); --vis[i]; } cout << ans; return 0; }


测评信息: