strstr

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int n,f[2001],ans=0;
char s[2001][101];
int main()
{
cin >> n;
for (int i=1;i<=n;i++)
scanf("%s",&s[i]);
for (int i = 1;i <= n;i++)
{
for(int j = 1;j < i;j++)
{
if (strstr(s[i],s[j])==s[i])/* !!!*/
{
f[i] = f[j] + 1;
}
}
}

for (int i = 1;i <= n;i++)
{
ans=max(ans,f[i]);
}
cout << ans << endl;
return 0;
}

求解释

2 条评论

  • 1

信息

ID
1028
难度
4
分类
动态规划 | LIS 点击显示
标签
(无)
递交数
6017
已通过
2443
通过率
41%
被复制
9
上传者