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 /
114866 /
Delete
Unzip
Name
Size
Permission
Date
Action
a.cpp
879
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
329
B
-rwxr-x---
2024-08-28 22:35
Save
Rename
#include<bits/stdc++.h> using namespace std; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<vvi> vvvi; typedef vector<vvvi> vvvvi; typedef vector<bool> vb; typedef vector<vb> vvb; typedef vector<vvb> vvvb; typedef vector<vvvb> vvvvb; #define REP(i,n) for(int i=0;i<n;i++) template<class T>bool chmax(T&a,T b){if(a<b){a=b;return 1;}return 0;} int main(){ int N;cin>>N; vector<string>S(N); REP(i,N)cin>>S[i]; int ans=0; vvb DP(1<<N,vb(N)); REP(i,N)DP[1<<i][i]=1; vvi b(1<<N);vi e(1<<N); REP(i,1<<N)REP(j,N)if((i>>j)%2){ b[i].emplace_back(j); e[i]+=S[j].size(); } vvb E(N,vb(N)); REP(i,N)REP(j,N)if(S[i].back()==S[j][0])E[i][j]=1; REP(i,1<<N)for(auto j:b[i])for(auto k:b[i])if(DP[i-(1<<j)][k]&&E[k][j])DP[i][j]=1; REP(i,1<<N)for(auto j:b[i])if(DP[i][j])chmax(ans,e[i]); cout<<ans<<endl; return 0; }