Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
51504 AK2022071318 最优子序列 C++ 运行超时 10 1000 MS 352 KB 825 2022-07-13 11:47:49

Tests(2/20):


#include <bits/stdc++.h> using namespace std; int n,k,type,ans; string s; bool v[3005],tmp[3005],f; bool check() { for(int i=0; i<s.size()-2; i++) if(!v[i]) for(int j=i+1; j<s.size()-1; j++) if(!v[j]) for(int k=j+1; k<s.size(); k++) if(s[i]==s[k]&&s[i]!=s[j]&&!v[k]) return 0; return 1; } void dfs(int a) { if(a>n) return; if(check()) { int tot=0; for(int i=0; i<s.size(); i++) if(!v[i]) tot++; if(!f) for(int i=0; i<s.size(); i++) tmp[i]=v[i]; f++; ans=max(ans,tot); } dfs(a+1); v[a]++; dfs(a+1); v[a]=0; } int main() { cin>>n>>k>>type>>s; dfs(0); cout<<ans<<endl; if(type) for(int i=0; i<s.size(); i++) if(!tmp[i]) cout<<s[i]; }


测评信息: