社区讨论
状压80分——WA on #1,#10,求调
P1278单词游戏参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mliwum8s
- 此快照首次捕获于
- 2026/02/12 11:40 3 周前
- 此快照最后确认于
- 2026/02/12 13:25 3 周前
CPP
#include<bits/stdc++.h>
using namespace std;
int n;
string a[20];
int dp[(1<<17)][20];
int ans=0;
int main() {
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
dp[(1<<i)][i]=a[i].size();
ans=max(ans,(int)a[i].size());
}
for(int s=1;s<(1<<n)-1;s++){
for(int i=0;i<n;i++){
if(s&(1<<i)){
for(int k=0;k<n;k++){
if(i!=k&&s&(1<<k)&&a[k][a[k].size()-1]==a[i][0]){
dp[s][i]=max(dp[s][i],dp[s^(1<<i)][k]+(int)a[i].size());
}
}
ans=max(ans,dp[s][i]);
}
}
}
cout<<ans;
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...