- 递增序列(dzxl)
满江红.....
- 2021-11-14 14:09:35 @
using namespace std;
int f[1001],len,f1[1001];char a[81];
string calc(int l,int r)
{
string s="";
for(int i=l;i<=r;i++)s+=a[i];
while(s[0]=='0'&&s.size()>1)s.erase(s.begin());
return s;
}
bool check(string a,string b)
{
if(a.size()<b.size())return 0;
if(a.size()>b.size())return 1;
for(int i=0;i<a.size();i++)
if(a[i]<=b[i])return 0;
return 1;
}
void print(int r)
{
if(!f[r])return;
print(f[r]-1);
cout<<calc(f[r],r);
if(r!=len)cout<<',';
}
int main()
{
scanf("%s",a+1);
len=strlen(a+1);
for(int i=1;i<=len;i++)
for(int k=1;k<=i;k++)
{
string x=calc(k,i);
string y=calc(f[k-1],k-1);
if(!check(x,y))continue;
if(f1[i]<f1[k-1]+1)
{
f1[i]=f1[k-1]+1;
f[i]=k;
}
}
print(len);
}```
1 条评论
-
张杨盛 LV 8 @ 2022-7-23 19:37:56
奆佬暴切紫题
- 1
信息
- ID
- 20
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- (无)
- 递交数
- 76
- 已通过
- 7
- 上传者