Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
51623 AK2022071323 最优子序列 C++ 运行超时 10 1000 MS 2248 KB 677 2022-07-13 12:19:12

Tests(2/20):


#include <iostream> using namespace std; int n,k,t,maxn,vis[27]; string s,ans; inline void dfs(int x,int cnt,string l) { if(x == n) { if(cnt > maxn) { maxn = cnt; if(t) ans = l; } else if(cnt == maxn && t == 2 && l < ans) ans = l; return ; } if(cnt + n - x < maxn) return ; if(!vis[s[x] - 'a']) { vis[s[x] - 'a'] = 1; dfs(x + 1,cnt + 1,l + s[x]); vis[s[x] - 'a'] = 0; } else if(l[cnt - 1] == s[x]) dfs(x + 1,cnt + 1,l + s[x]); dfs(x + 1,cnt,l); } int main() { cin >> n >> k >> t; cin >> s; dfs(0,0,""); cout << maxn << endl; if(t) cout << ans << endl; return 0; }


测评信息: