QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#776854 | #7780. Dark LaTeX vs. Light LaTeX | SGColin | WA | 35ms | 199464kb | C++20 | 1.0kb | 2024-11-23 21:15:41 | 2024-11-23 21:15:42 |
Judging History
answer
#include<bits/stdc++.h>
#define ll long long
#define pb push_back
#define pp printf("\n")
#define mo 998244353
using namespace std;
int f[5005][5005],g[5005][5005],h[5005];
char s[5005],v[5005];
int n,m,l;
ll ans;
void zmy()
{
memset(f,0,sizeof(f));
memset(g,0,sizeof(g));
memset(h,0,sizeof(h));
n=strlen(s+1);
m=strlen(v+1);
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
f[i][j]=(s[i]==v[j]?f[i-1][j-1]+1:0);
for (int j=n;j>=1;j--)
{
memset(h,0,sizeof(h));
for (int i=j-1;i>=1;i--)
{
g[i][j]=(s[i]==s[j]?g[i+1][j+1]+1:0);
l=min(g[i][j],j-i);
h[i]++,h[i+l]--;
}
for (int i=1;i<=n;i++)h[i]+=h[i-1];
for (int i=1;i<=n;i++)h[i]+=h[i-1];
for (int i=1;i<=m;i++)
if (f[j-1][i])
ans+=(j>2?h[j-2]:0)-(j-2-f[j-1][i]>0?h[j-2-f[j-1][i]]:0);
}
}
int main()
{
freopen("connect.in", "r", stdin);
freopen("connect.out", "W", stdout);
scanf("%s",s+1);
scanf("%s",v+1);
zmy();
swap(s,v);
zmy();
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++)ans+=f[i][j];
printf("%lld\n",ans);
}
詳細信息
Test #1:
score: 0
Wrong Answer
time: 35ms
memory: 199464kb
input:
abab ab
output:
result:
wrong answer Answer contains longer sequence [length = 1], but output contains 0 elements