社区讨论
各位大佬求教一下,编译能通过但运行报错
学术版参与者 4已保存回复 9
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 9 条
- 当前快照
- 1 份
- 快照标识符
- @mi6tufhp
- 此快照首次捕获于
- 2025/11/20 10:43 4 个月前
- 此快照最后确认于
- 2025/11/20 10:43 4 个月前
CPP
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int M=50004;
const int N=102;
struct node
{
char ss[N];
}aa[M];
int f[M*N][30],g[M*N][30],l,tot,v[M*N*30],vis[M*N*30],col[N],cnt;
void inset()
{
int root=0;
for(int i=0;i<l;i++)
{
if(!f[root][aa[cnt].ss[i]-'a'])
{
f[root][aa[cnt].ss[i]-'a']=++tot;
}
root=f[root][aa[cnt].ss[i]-'a'];
}
v[root]=1,root=0;
for(int i=l-1;i>=0;i--)
{
if(!g[root][aa[cnt].ss[i]-'a'])
{
g[root][aa[cnt].ss[i]-'a']=++tot;
}
root=g[root][aa[cnt].ss[i]-'a'];
}
vis[root]=1;
}
int jud(int x)
{
int root=0;
for(int i=0;i<l-1;i++)
{
if(!f[root][aa[x].ss[i]-'a'])
{
break;
}
col[i]=v[f[root][aa[x].ss[i]-'a']],root=f[root][aa[x].ss[i]-'a'];
}
root=0;
for(int i=l-1;i>0;i--)
{
if(!g[root][aa[x].ss[i]-'a'])
{
break;
}
if(vis[g[root][aa[x].ss[i]-'a']]&col[i-1])
{
return 1;
}
}
return 0;
}
int main()
{
while(scanf("%s",aa[++cnt].ss)!=EOF)
{
if(aa[cnt].ss[0]=='\n')
{
break;
}
memset(col,0,sizeof(col));
l=strlen(aa[cnt].ss);
inset();
}
for(int i=1;i<=cnt;i++)
{
l=strlen(aa[i].ss);
if(jud(i))
{
printf("%s\n",aa[i].ss);
}
}
return 0;
}
到处提交都显示CE。。
Windows下运行显示 不是有效的win32程序
noilinux下进程自动被shut down、、
求大佬帮忙找找错
回复
共 9 条回复,欢迎继续交流。
正在加载回复...