QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#487378#6234. 动物园hhw100 ✓84ms25632kbC++14651b2024-07-22 20:50:222024-07-22 20:50:23

Judging History

你现在查看的是最新测评结果

  • [2024-07-22 20:50:23]
  • 评测
  • 测评结果:100
  • 用时:84ms
  • 内存:25632kb
  • [2024-07-22 20:50:22]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
const long long mod=1e9+7; 
string b; long long n,i,j,ans=1;char a[1223123];
long long nex[12112321],num[12312123];
int main()
{
	cin>>n;
	for(long long o=1;o<=n;o++){
		cin>>(a+1);
		long long ll=strlen(a+1);
		ans=1;
		num[1]=1;
		for(i=2,j=0;i<=ll;++i){
			while(j&&a[i]!=a[j+1])j=nex[j];
			if(a[i]==a[j+1])j++;
			nex[i]=j;
			num[i]=num[j]+1;
		}
		for(long long i=2,j=0;i<=ll;i++){
			while(j&&a[i]!=a[j+1])j=nex[j];
			if(a[i]==a[j+1])j++;
			while(j*2>i){
				j=nex[j];
			}
			ans*=(num[j]+1)%1000000007;
			ans%=1000000007;
		}
		cout<<ans<<endl;
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Pretests


Final Tests

Test #1:

score: 10
Accepted
time: 1ms
memory: 7660kb

input:

5
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxpuvf
abababababababababababababababababababababababdgcd
abcbaabcbaabcbaabcbaabcbaabcbaabcbaabcbaabcbafmlqh
abacababacababacababacababacababacababacababadjyxq
aabaacaabaacaabaacaabaacaabaacaabaacaabaacaabjtaxw

output:

592345761
371390093
121623872
675691877
481106999

result:

ok 5 number(s): "592345761 371390093 121623872 675691877 481106999"

Test #2:

score: 10
Accepted
time: 1ms
memory: 7628kb

input:

5
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavtgynkaevpdhsdwswilx
ababababababababababababababababababababababababababababababababababababababababababababababababa...

output:

469770619
76547694
933305750
902388437
803348921

result:

ok 5 number(s): "469770619 76547694 933305750 902388437 803348921"

Test #3:

score: 10
Accepted
time: 1ms
memory: 7696kb

input:

5
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcbwqryehhjfnlhglcnn
ababababababababababababababababababababababababababababababababababababababababababababababababa...

output:

734885313
42387799
866611493
737798559
606697835

result:

ok 5 number(s): "734885313 42387799 866611493 737798559 606697835"

Test #4:

score: 10
Accepted
time: 1ms
memory: 5824kb

input:

5
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

256900524
822524261
413461597
106784584
900200874

result:

ok 5 number(s): "256900524 822524261 413461597 106784584 900200874"

Test #5:

score: 10
Accepted
time: 1ms
memory: 5764kb

input:

5
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

338653171
215976943
353365401
126668510
374446639

result:

ok 5 number(s): "338653171 215976943 353365401 126668510 374446639"

Test #6:

score: 10
Accepted
time: 4ms
memory: 6564kb

input:

5
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

121054060
135829705
586084763
774583391
672914918

result:

ok 5 number(s): "121054060 135829705 586084763 774583391 672914918"

Test #7:

score: 10
Accepted
time: 18ms
memory: 9540kb

input:

5
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

608896507
705745581
866882032
907283717
280168955

result:

ok 5 number(s): "608896507 705745581 866882032 907283717 280168955"

Test #8:

score: 10
Accepted
time: 43ms
memory: 16840kb

input:

5
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

757739184
436599146
408735068
62286478
824797798

result:

ok 5 number(s): "757739184 436599146 408735068 62286478 824797798"

Test #9:

score: 10
Accepted
time: 80ms
memory: 24568kb

input:

5
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

359993524
770772317
946742907
673664964
798002419

result:

ok 5 number(s): "359993524 770772317 946742907 673664964 798002419"

Test #10:

score: 10
Accepted
time: 84ms
memory: 25632kb

input:

5
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

237665674
899763767
416501680
103496894
979807695

result:

ok 5 number(s): "237665674 899763767 416501680 103496894 979807695"

Extra Test:

score: 0
Extra Test Passed