QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#331575#8252. Tip of Your TongueKevin5307#WA 3073ms191696kbC++231.5kb2024-02-18 15:24:542024-02-18 15:24:55

Judging History

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

  • [2024-02-18 15:24:55]
  • 评测
  • 测评结果:WA
  • 用时:3073ms
  • 内存:191696kb
  • [2024-02-18 15:24:54]
  • 提交

answer

//Author: Kevin
#include<bits/stdc++.h>
//#pragma GCC optimize("O2")
using namespace std;
#define ll long long
#define ull unsigned ll
#define pb emplace_back
#define mp make_pair
#define ALL(x) (x).begin(),(x).end()
#define rALL(x) (x).rbegin(),(x).rend()
#define srt(x) sort(ALL(x))
#define rev(x) reverse(ALL(x))
#define rsrt(x) sort(rALL(x))
#define sz(x) (int)(x.size())
#define inf 0x3f3f3f3f
#define pii pair<int,int>
#define lb(v,x) (int)(lower_bound(ALL(v),x)-v.begin())
#define ub(v,x) (int)(upper_bound(ALL(v),x)-v.begin())
#define uni(v) v.resize(unique(ALL(v))-v.begin())
#define longer __int128_t
void die(string S){puts(S.c_str());exit(0);}
mt19937_64 rnd(20210448);
const ll mod=998244353,base=rnd()%400+1000;
map<ll,int> M1,M2;
map<pair<ll,ll>,int> M3;
int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int n,q;
	cin>>n>>q;
	for(int i=1;i<=n;i++)
	{
		string s;
		cin>>s;
		ll H1=0,H2=0;
		for(int j=0;j<sz(s);j++)
		{
			H1=(H1*base+s[j])%mod;
			H2=(H2*base+s[sz(s)-j-1])%mod;
			M1[H1]++;
			M2[H2]++;
			M3[mp(H1,H2)]++;
		}
	}
	while(q--)
	{
		string s;
		cin>>s;
		string A,B;
		cin>>A>>B;
		ll H1=0,H2=0;
		for(auto ch:A)
			H1=(H1*base+ch)%mod;
		rev(B);
		for(auto ch:B)
			H2=(H2*base+ch)%mod;
		if(s=="AND")
			cout<<M3[mp(H1,H2)]<<endl;
		else if(s=="OR")
			cout<<M1[H1]+M2[H2]-M3[mp(H1,H2)]<<endl;
		else
			cout<<M1[H1]+M2[H2]-M3[mp(H1,H2)]*2<<endl;
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3816kb

input:

4 4
cat
catcat
octal
occidental
AND cat cat
OR oc at
AND ca at
XOR oc al

output:

2
4
2
0

result:

ok 4 lines

Test #2:

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

input:

26 36
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
AND b b
AND d d
XOR tk ce
AND w w
AND z z
XOR t t
OR a a
OR s s
AND p p
AND v v
AND pp kh
XOR j j
AND n n
OR f f
XOR vo mj
OR m m
XOR q q
XOR r r
AND i i
OR l l
OR jb cg
XOR x x
XOR nf ov
OR e e
XOR h h
XOR u u
XOR c c
OR y y
XOR nc ln
AND o ...

output:

1
1
0
1
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
0
0
1
0
0
0
1
0
1
0
0
0
0
1
1

result:

ok 36 lines

Test #3:

score: 0
Accepted
time: 408ms
memory: 36672kb

input:

18 18
a
ab
abba
abbabaab
abbabaabbaababba
abbabaabbaababbabaababbaabbabaab
abbabaabbaababbabaababbaabbabaabbaababbaabbabaababbabaabbaababba
abbabaabbaababbabaababbaabbabaabbaababbaabbabaababbabaabbaababbabaababbaabbabaababbabaabbaababbaabbabaabbaababbabaababbaabbabaab
abbabaabbaababbabaababbaabbabaa...

output:

18
17
8
8
14
7
6
11
10
5
4
3
3
2
2
0
1
0

result:

ok 18 lines

Test #4:

score: 0
Accepted
time: 3073ms
memory: 191696kb

input:

1 1
ocyzfhhambhirbkeodnshorawhzsqakgywcadicyacxleobjmjrbgqrdqqvqecccxuahrkwnimglrcmiaujynldydopyasdbefpxmagfquhzrtfnuikojwpjocjwrogxhrquqruqqsunsjotsgeetddviaoswcavdswftyheurrclunactnwqhnqzrxjlsipyxxmmeiwxawqzvhtcmmadyvfzrhinphlibltwartaczraqkaaljefkksbawqmnsbquqxpbneshiuypfafihqtehavpdsoauwyvsqblxo...

output:

0

result:

ok single line: '0'

Test #5:

score: 0
Accepted
time: 3ms
memory: 4448kb

input:

1 1
a
OR zxuxomuitrpatgdidwnuxfrwultbimmesgzkgcdsvjzmanhyebwdzowthmiqlsagxoqvyciyslmoxvceppnkjuvzhszgcdnpmdqxhbinbknbbzfcnhizysyeaemkpeandwqutpmnxytmnkzfghmptiqnppuwndlxlhpimvmsaytdycezpodqcbddybswutmimtpgzhmijvpphelairwewqshektuldufwxuzirjkpemoafnpopqfgxefcxuzgbbhehfpbmkdqbxsdejspcydluchncbhbfghoys...

output:

0

result:

ok single line: '0'

Test #6:

score: 0
Accepted
time: 806ms
memory: 58268kb

input:

250 50000
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

1
250
249
1
1
1
1
250
250
1
1
250
249
1
1
249
250
250
1
250
250
1
249
1
1
249
1
1
1
250
249
250
250
250
250
1
250
249
249
249
1
250
1
250
249
249
250
249
250
250
1
250
250
250
250
250
1
1
249
249
250
1
1
250
1
250
249
250
1
249
1
249
1
249
1
1
1
250
250
249
249
250
250
1
250
249
250
1
1
250
1
250
25...

result:

ok 50000 lines

Test #7:

score: 0
Accepted
time: 841ms
memory: 63800kb

input:

10 10
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

output:

10
10
0
10
10
10
10
0
0
10

result:

ok 10 lines

Test #8:

score: -100
Wrong Answer
time: 418ms
memory: 43628kb

input:

10000 40000
lhheuleivzyldlchherj
phgmehaliwwulthedmop
ifszbvkgywuyemcxbvns
wycojxbttxudiiclvgvk
camfcfwvxlvyoyfyqsci
zqkxtcfhovfemzizxhev
ugbsvnxratulswilmekh
cvveyzynvzgnfukgorio
lsstnqurowhzvvzmvhwh
crhuqauvnvwdeyqlxchi
xvbybzkvzkjntwtdiglt
ylgvjsugwaicedszzhlv
jyswsdydzgicxheoqjfh
jnbmcjgbyfmxyae...

output:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

wrong answer 324th lines differ - expected: '0', found: '1'