QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#277940#7518. GCD of Pattern Matchingship2077WA 184ms4028kbC++14935b2023-12-07 09:39:062023-12-07 09:39:06

Judging History

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

  • [2023-12-07 09:39:06]
  • 评测
  • 测评结果:WA
  • 用时:184ms
  • 内存:4028kb
  • [2023-12-07 09:39:06]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
mt19937 mt(time(NULL));
constexpr int M=30;char s[M];
int n,d,num,T,f[M],vec[M];
unsigned long long sum,gcd,g[M],pw[M];
int read(){
	int x=0,f=1;char ch=getchar();
	while (!isdigit(ch)) {if (ch=='-') f=-1;ch=getchar();}
	while (isdigit(ch)) x=x*10+ch-48,ch=getchar();
	return x*f;
}
int main(){
	scanf("%d",&T); while (T--){
		scanf("%d%s",&d,s+1);n=strlen(s+1);
		for (int i=pw[0]=1;i<=n;i++) pw[i]=pw[i-1]*d;
		for (int i=0;i<26;i++) g[i]=0; iota(f,f+d,0);
		for (int i=1;i<=n;i++) g[s[i]-'a']+=pw[n-i]; num=0;
		for (int i=0;i<26;i++)
			if (g[i]) vec[num++]=i;
		if (num>d) {puts("0");continue;}
		int t=20;gcd=0;
		while (t--){ sum=0;bool fl=1;
			for (int i=0;i<num;i++){
				sum+=f[i]*g[vec[i]];
				if (!f[i]&&vec[i]==s[1]-'a')
					{fl=0;break;}
			}
			if (fl) gcd=__gcd(gcd,sum);
			shuffle(f,f+d,mt);
		}
		printf("%llu\n",gcd);
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 4028kb

input:

5
10 ccpcccpc
10 cpcpcp
10 cpc
4 cpccpc
4 dhcp

output:

10001
10101
1
65
3

result:

ok 5 number(s): "10001 10101 1 65 3"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3860kb

input:

30
2 ab
3 abc
4 abcd
5 abcde
6 abcdef
7 abcdefg
8 abcdefgh
9 abcdefghi
10 abcdefghij
11 abcdefghijk
12 abcdefghijkl
13 abcdefghijklm
14 abcdefghijklmn
15 abcdefghijklmno
16 abcdefghijklmnop
16 a
16 ab
16 abc
16 abcd
16 abcde
16 abcdef
16 abcdefg
16 abcdefgh
16 abcdefghi
16 abcdefghij
16 abcdefghijk
...

output:

2
1
3
2
5
3
7
4
9
5
11
6
13
7
15
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

result:

ok 30 numbers

Test #3:

score: 0
Accepted
time: 0ms
memory: 3976kb

input:

12
10 abccbaabc
10 abcdeedcba
10 abccbaabccba
3 abccbaabccba
4 abcddcba
4 abcddcbaabcddcba
5 online
5 onlie
6 online
3 ccc
10 ccc
16 aaaaaaaaaaaaaaaa

output:

3
11
11000011
2920
15
983055
1
2
1
13
111
1229782938247303441

result:

ok 12 numbers

Test #4:

score: 0
Accepted
time: 0ms
memory: 3964kb

input:

21
13 abcccbbaccca
11 abcdcdeebdcdca
15 abcdcdeebdcdca
11 abcdcdeebdcacd
15 abcdcdeebdcacd
12 abcdcdeebbae
14 abcbadcbabcd
14 abcbaccbacbb
14 aaaaaabaabbab
10 aaaaabaababbb
9 aaaaabaababb
14 aaaaabaabbaba
10 aaaaabbaabaab
11 aaaaabbabbaabb
14 aaaababbbbbaba
12 aaaabbababbb
12 aaabaabbabab
13 aabaaab...

output:

183
4
4
4
4
1
38221
183
1
1
820
1
1
12
24326193
145
133
157
1064
1
145

result:

ok 21 numbers

Test #5:

score: 0
Accepted
time: 0ms
memory: 3880kb

input:

21
13 acccabbcccba
11 acdcdbeedcdcba
15 acdcdbeedcdcba
11 dcacdbeedcdcba
15 dcacdbeedcdcba
12 eabbeedcdcba
14 dcbabcdabcba
14 bbcabccabcba
14 babbaabaaaaaa
10 bbbabaabaaaaa
9 bbabaabaaaaa
14 ababbaabaaaaa
10 baabaabbaaaaa
11 bbaabbabbaaaaa
14 ababbbbbabaaaa
12 bbbababbaaaa
12 bababbaabaaa
13 bbababa...

output:

915
4
4
4
4
5
38221
183
157
79
5740
157
79
516
24326193
1015
665
785
1064
11
1015

result:

ok 21 numbers

Test #6:

score: 0
Accepted
time: 1ms
memory: 3984kb

input:

96
15 abbbcaacccba
16 cabacaabbccba
16 bcbbaaccabcba
16 bbccaacbabcba
16 bcbabbccaacba
16 abcacbcaccbba
16 accabcbabcbba
15 ccaaabccbbba
15 bbaaabbbbbba
16 abababbbbba
11 abbaabaabbbbba
16 ababbaaabbbbba
16 abbbaaaabbbbba
11 bababaababbbba
11 bababaabbbba
12 aababaabbbba
15 bbaaabbbba
16 aaaabbaaabb...

output:

416
157
157
157
157
157
157
416
416
89
516
1921
731
86
117
1015
176
731
187
665
2011170
516
785
2989355
40543655
63
67
731
731
86
1921
176
1357265
416
1015
416
416
176
785
731
1357265
516
86
63
1015
117
86
516
731
67
665
187
1921
86
516
516
86
665
63
785
187
2011170
1921
89
117
665
2989355
40543655
...

result:

ok 96 numbers

Test #7:

score: 0
Accepted
time: 1ms
memory: 4024kb

input:

96
15 abcccaacbbba
16 abccbbaacabac
16 abcbaccaabbcb
16 abcbabcaaccbb
16 abcaaccbbabcb
16 abbccacbcacba
16 abbcbabcbacca
15 abbbccbaaacc
15 abbbbbbaaabb
16 abbbbbababa
11 abbbbbaabaabba
16 abbbbbaaabbaba
16 abbbbbaaaabbba
11 abbbbabaababab
11 abbbbaababab
12 abbbbaababaa
15 abbbbaaabb
16 abbbbaaabba...

output:

32
1
1
1
1
1
1
32
32
1
12
17
17
2
3
145
16
17
17
133
402234
12
157
2989355
40543655
3
1
17
17
2
17
16
271453
32
145
32
32
16
157
17
271453
12
2
3
145
3
2
12
17
1
133
17
17
2
12
12
2
133
3
157
17
402234
17
1
3
133
2989355
40543655
1
3
145
1
3
157
1
17
3
133
1
2989355
40543655
157
1
3
3
1
157
145
1
3
...

result:

ok 96 numbers

Test #8:

score: 0
Accepted
time: 184ms
memory: 3892kb

input:

100000
15 abbbcaacccba
16 cabacaabbccba
16 bcbbaaccabcba
16 bbccaacbabcba
16 bcbabbccaacba
16 abcacbcaccbba
16 accabcbabcbba
15 ccaaabccbbba
15 bbaaabbbbbba
16 abababbbbba
11 abbaabaabbbbba
16 ababbaaabbbbba
16 abbbaaaabbbbba
11 bababaababbbba
11 bababaabbbba
12 aababaabbbba
15 bbaaabbbba
16 aaaabba...

output:

416
157
157
157
157
157
157
416
416
89
516
1921
731
86
117
1015
176
731
187
665
2011170
516
785
2989355
40543655
63
67
731
731
86
1921
176
1357265
416
1015
416
416
176
785
731
1357265
516
86
63
1015
117
86
516
731
67
665
187
1921
86
516
516
86
665
63
785
187
2011170
1921
89
117
665
2989355
40543655
...

result:

ok 100000 numbers

Test #9:

score: 0
Accepted
time: 0ms
memory: 4028kb

input:

22
15 dacbcbdddaddcba
15 bacdcdddbaddcba
15 bdedacaebecdcba
15 bdddacadbdcdcba
15 baaadcaabdcdcba
15 bdcdacacbccdcba
16 acccacddbbcdcba
16 acaccaddbbcdcba
15 bdbdacabbbcdcba
15 badddcddbacdcba
15 bdadacaabacdcba
15 abcddadddbcbcad
15 abcddabdddcdcab
15 abcdcebeacadedb
15 abcdcdbdacadddb
15 abcdcdbaa...

output:

2651
2651
2651
2651
2651
2651
3003
77
2651
2651
2651
241
241
241
241
241
241
273
1
241
241
241

result:

ok 22 numbers

Test #10:

score: 0
Accepted
time: 1ms
memory: 4024kb

input:

237
12 aaaaaaaa
12 aaaaaaaaa
4 aaaaaaaaaa
13 aaaaaaaaaaa
16 aaaaaaaaaaaa
6 aaaaaaaaaaaaa
6 aaaaaaaaaaaaaa
14 aaaababbbbbaba
14 aaaabbabba
8 aaabaabbbaa
4 aaabaabbbaabba
11 aaabababaaaa
7 aaabababbabbaa
16 aaabbabaabbbaa
3 aaabbbaaba
7 aaabbbaabaaa
11 aaabbbbabbaa
5 aaabbbbbbaaa
8 aabaabbababa
7 aaba...

output:

39089245
469070941
349525
149346699503
18764998447377
2612138803
15672832819
24326193
75
89
145
14763
58
1921
44
208
156
3906
285
312
13
30583
70
16
29
468799645
58593
55
113
65
13
29
43
203
665
46873
1460
232
21
2343
65
516
73015558161
2380
51
32
1555
187245
53
35
116
1015
52
2121
285212689
78
4156...

result:

ok 237 numbers

Test #11:

score: -100
Wrong Answer
time: 54ms
memory: 3884kb

input:

30580
14 aaababbbbbaa
14 bccaaccccbaa
6 ccaacbabbbbbbcba
11 bedadacba
8 dgfceaedabcbaa
13 ebdeeabcdcba
15 aabacacaacccccba
3 aababaaaaababaaa
16 acbbabbbbccba
16 accbacbcccba
15 feddcbafeddcba
13 baaaacacabcbaa
9 dcbaaaaadcbdcba
7 bbbbabbbba
15 acdddbbaccba
5 cacbaabcaaabacba
16 dabadcbcdcba
7 babab...

output:

197
45
9079
1
1
5
17
65620
53
3
170859376
29
31
16808
241
204
65793
2
117650
2651
1
7568149
248833
1
513
3
1285
3003
19136585
11
1
1
17
1
77
2
3
2
58
1111
82
22049
62
328
13
20
32045
244
33
1
65
1
1000001
1
3003
1
3003
290730444229
1
1
1885
1
7
823544
50401
93
1
116
14065
532171
1475827473
183
78
1
...

result:

wrong answer 5214th numbers differ - expected: '680', found: '125800'