結果
| 問題 |
No.2172 SEARCH in the Text Editor
|
| コンテスト | |
| ユーザー |
tails
|
| 提出日時 | 2022-12-24 03:51:00 |
| 言語 | cLay (20241019-1) |
| 結果 |
AC
|
| 実行時間 | 29 ms / 2,000 ms |
| コード長 | 875 bytes |
| コンパイル時間 | 4,398 ms |
| コンパイル使用メモリ | 174,808 KB |
| 実行使用メモリ | 16,084 KB |
| 最終ジャッジ日時 | 2024-11-18 07:15:27 |
| 合計ジャッジ時間 | 6,532 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 49 |
ソースコード
#define MD 998244353
struct S{
Mint k;
int n;
char a[50],b[50];
};
S q[100000];
{
ll@n;
ll tn;
char t[51];
rd(t@tn);
rep(i,n){
ll sn;
char s[100001];
rd(s@sn);
if(*s=='~'){
ll@--j,@--k;
{
ll l=max(0,min(tn-1-q[j].n,q[k].n));
memcpy(q[i].a,q[j].a,q[j].n);
memcpy(q[i].a+q[j].n,q[k].a,l);
}
{
ll l=max(0,min(tn-1-q[k].n,q[j].n));
memcpy(q[i].b,q[j].b+q[j].n-l,l);
memcpy(q[i].b+l,q[k].b,q[k].n);
}
q[i].n=min(tn-1,q[j].n+q[k].n);
memcpy(s,q[j].b,q[j].n);
memcpy(s+q[j].n,q[k].a,q[k].n);
sn=q[j].n+q[k].n;
q[i].k=q[j].k+q[k].k;
}else{
if(sn<tn){
memcpy(q[i].a,s,sn);
memcpy(q[i].b,s,sn);
q[i].n=sn;
}else{
memcpy(q[i].a,s,tn-1);
memcpy(q[i].b,s+sn-(tn-1),tn-1);
q[i].n=tn-1;
}
}
rep(d,sn-(tn-1)){
if(memcmp(s+d,t,tn)==0){
q[i].k+=1;
}
}
}
wt(q[n-1].k);
}
tails