Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.217.105
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
submit2 /
114878 /
Delete
Unzip
Name
Size
Permission
Date
Action
a.cpp
959
B
-rwxr-x---
2024-08-28 22:35
cerror.txt
0
B
-rwxr-x---
2024-08-28 22:35
error.txt
0
B
-rwxr-x---
2024-08-28 22:35
submit_info.txt
327
B
-rwxr-x---
2024-08-28 22:35
Save
Rename
#include <iostream> #include <string> #include <vector> signed main() { int n; std::cin >> n; std::vector<std::string> arr(n); for (auto &a : arr) std::cin >> a; std::vector<std::vector<int>> edge(n); for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (i != j && arr[i].back() == arr[j].front()) edge[i].push_back(j); std::vector dp(1 << n, std::vector(n, 0)); for (int i = 0; i < n; i++) dp[1 << i][i] = arr[i].size(); for (int i = 0; i < (1 << n); i++) for (int j = 0; j < n; j++) for (int k : edge[j]) if ((~i >> k & 1)) dp[i | (1 << k)][k] = std::max<int>(dp[i | (1 << k)][k], dp[i][j] + arr[k].size()); int ans = 0; for (int i = 0; i < (1 << n); i++) for (int j = 0; j < n; j++) ans = std::max(ans, dp[i][j]); std::cout << ans << '\n'; }