秋祭 | 静岡高校工学部



卬高杯


提出詳細

提出id提出時刻ユーザー名問題言語判定状況判定実行時間
1148292023-10-24 08:40:25FystyGcpp16/16TLE115

#include <bits/stdc++.h>
#include <random>
#include <chrono>
using namespace std;
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize ("unroll-loops")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef pair<double,double> pdd;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

template<typename T> void _do(T x){cerr<<x<<"\n";}
template<typename T,typename ...U> void _do(T x,U ...y){cerr<<x<<", ";_do(y...);}
#define dbg(...) cerr<<#__VA_ARGS__<<" = ";_do(__VA_ARGS__);

const int MOD1=1e9+7;
const int MOD2=998244353;
const ll INF=3e18;

ll fpow(ll a,ll b,ll m)
{
    if(!b) return 1;
    ll tmp=1;
    for(ll cur=a;b;b>>=1,cur=cur*cur%m) if(b&1) tmp=tmp*cur%m;
    return tmp;
}
ll inv(ll a,ll m) {return fpow(a,m-2,m);}

#define MottoHayaku ios::sync_with_stdio(false);cin.tie(0);
#define rep(i,n) for(int i=0;i<n;i++)
#define rep1(i,n) for(int i=1;i<=n;i++)
#define F first
#define S second
#define pb push_back
#define uni(c) c.resize(distance(c.begin(),unique(c.begin(),c.end())))
#define unisort(c) sort(c.begin(),c.end()),uni(c)


string s[20];
int dp[16][1<<16];

void solve()
{
    int n;
    cin>>n;
    rep(i,n) cin>>s[i];
    int ans=0;
    rep(i,n)
    {
        dp[i][1<<i]=s[i].size();
        ans=max(ans,dp[i][1<<i]);
    }
    rep1(i,(1<<n)-1) rep(j,n) if(i>>j&1)
    {
        ans=max(ans,dp[j][i]);
        //cout<<j<<" "<<i<<": "<<dp[j][i]<<"\n";
        rep(k,n) if(!(i>>k&1))
        {
            if(s[j].back()!=s[k][0]) continue;
            dp[k][i|(1<<k)]=max(dp[k][i|(1<<k)],dp[j][i]+(int)s[k].size());
        }
    }
    cout<<ans<<"\n";

}

signed main()
{
    MottoHayaku
    int t;
    //cin>>t;
    t=1;
    while(t--)
    {
        solve();
    }
}

sample1.txt WA 2
case1.txt WA 2
case2.txt TLE 115
case3.txt WA 4
case4.txt TLE 92
case5.txt TLE 85
case6.txt TLE 87
case7.txt TLE 85
case8.txt TLE 86
case9.txt TLE 85
case10.txt TLE 86
case11.txt TLE 85
case12.txt TLE 85
case13.txt TLE 85
case14.txt TLE 87
case15.txt TLE 85
115 RE115 TLE
timeout: the monitored command dumped core
Segmentation fault