您的位置:首页 > 其它

codeforces Div.2 B.Suffix Structures

2014-07-18 09:02 309 查看
题意是给我们两个字符串,再在第一个字符串中找第二个,

给了我们两种方法,一:在第一个字符串删掉一些字符后得到第二个字符串;

二:在第一个字符串中改变一些字符的先后顺序得到字符串二;

如果只用第一种方法输出:   automaton;

只用第二种输出:array

两种都用输出:both;

找不到输出:need tree;

直接找就行,,,,,,水

#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
char a[101],b[101];
int s[101];
int c,d,i,j;
scanf("%s",a);
scanf("%s",b);
c=strlen(a);
d=strlen(b);
for(i=0,j=0;i<c;i++)
{
if(a[i]==b[j])
{
j++;
}
if(j==d)
{printf("automaton\n");return 0;}
}
int e=0;
memset(s,0,sizeof(s));
for(int i=0;i<d;i++)
{
for(int j=0;j<c;j++)
{
if(s[j]!=1){
if( b[i]==a[j])
{
s[j]=1;
e++;
break;
}
}
}
}
if(e==d)
{
if(c==d)
{printf("array\n");}
if(c>d)
printf("both\n");
}
else
printf("need tree\n");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: