Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
51688 | Skyjoy | 最优子序列 | C++ | 运行超时 | 10 | 1000 MS | 304 KB | 776 | 2022-07-13 12:42:33 |
#include<bits/stdc++.h> #define I using #define love namespace #define Elaina std I love Elaina; const int N=3010; int read(){ int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-')f=-1; ch=getchar(); } while(ch>='0'&&ch<='9'){ x=(x<<3)+(x<<1)+ch-'0'; ch=getchar(); } return x*f; } char str[N]; int n,k,op,ans; bool vis[26]; void dfs(int cur,int dep,char last){ if(dep==n){ ans=max(ans,cur); return; } if(str[dep+1]==last)dfs(cur+1,dep+1,str[dep+1]); else if(!vis[str[dep+1]-'a']){ vis[str[dep+1]-'a']=1; dfs(cur+1,dep+1,str[dep+1]); vis[str[dep+1]-'a']=0; } dfs(cur,dep+1,last); } int main(){ n=read(),k=read(),op=read(); scanf("%s",str+1); dfs(0,0,'$'); printf("%d\n",ans); return 0; }