ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#195623 | #3420. 对抗游戏 | ddh123 | 100 | 403ms | 25568kb | C++11 | 906b | 2023-10-18 19:47:18 | 2023-10-18 22:27:14 |
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define base 1145141
#define mod 100000007
int n,q,l,r,fac1[1000005],fac2[1000005],P[1000005];
char s[1000005];
int read(){
int x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
return x*f;
}
int calc1(int l,int r){
return (fac1[r]-fac1[l-1]*P[r-l+1]%mod+mod)%mod;
}
int calc2(int l,int r){
return (fac2[l]-fac2[r+1]*P[r-l+1]%mod+mod)%mod;
}
signed main(){
n=read(),q=read();
scanf("%s",s+1);
P[0]=1;
for(int i=1;i<=n;i++)
P[i]=P[i-1]*base%mod;
for(int i=1;i<=n;i++)
fac1[i]=(fac1[i-1]*base+s[i]-'a'+1)%mod;
for(int i=n;i;i--)
fac2[i]=(fac2[i+1]*base+s[i]-'a'+1)%mod;
while(q--){
l=read(),r=read();
puts(calc1(l,r)==calc2(l,r)||(r-l)%2?"Budada":"Putata");
}
return 0;
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 0ms
memory: 1168kb
input:
10 10 lblbyybtft 5 6 1 3 7 7 1 3 1 3 8 10 4 4 7 10 3 5 7 9
output:
Budada Budada Budada Budada Budada Budada Budada Budada Putata Putata
result:
ok 10 lines
Test #2:
score: 10
Accepted
time: 2ms
memory: 1172kb
input:
10 10 jjwwnnddhh 5 6 1 2 7 8 7 8 7 8 1 2 1 2 1 2 5 6 7 8
output:
Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada
result:
ok 10 lines
Test #3:
score: 10
Accepted
time: 2ms
memory: 1168kb
input:
10 10 qwqeemhmzx 2 6 9 9 6 7 9 9 1 3 7 8 6 8 10 10 2 10 2 6
output:
Putata Budada Budada Budada Budada Budada Budada Budada Putata Putata
result:
ok 10 lines
Test #4:
score: 10
Accepted
time: 0ms
memory: 1172kb
input:
10 10 mcmfpppppo 8 8 2 5 1 4 2 9 3 10 6 7 1 6 3 7 3 9 5 5
output:
Budada Budada Budada Budada Budada Budada Budada Putata Putata Budada
result:
ok 10 lines
Test #5:
score: 10
Accepted
time: 0ms
memory: 1192kb
input:
1000 1000 egdbcjlrbuipkawdbhopiftkennnnektfipohbdwakpiubrljcbdgeofdbfqiuuiqfbdfoizwlorhtwrcganhbqspk...
output:
Putata Putata Budada Budada Putata Putata Putata Putata Putata Budada Putata Putata Budada Budada Pu...
result:
ok 1000 lines
Test #6:
score: 10
Accepted
time: 0ms
memory: 1192kb
input:
1000 1000 wuxigmyxyangcznnjctldollwhrlxxxurvfqhhqfvruxxxlrhwllodltcjnnzcgnayxymgixuwxgynrakxuiepswlk...
output:
Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Putata Budada Bu...
result:
ok 1000 lines
Test #7:
score: 10
Accepted
time: 0ms
memory: 1192kb
input:
1000 1000 ocyjgahmrewbwafqlrdwcvvmyjcwsijhocrdxcrylwwxspxijtdjjdtjixpsxwwlyrcxdrcohjiswcjymvvcwdrlqf...
output:
Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Bu...
result:
ok 1000 lines
Test #8:
score: 10
Accepted
time: 0ms
memory: 1196kb
input:
1000 1000 ytmyiamvpbtypwqpgtonwjeoejwnotgpqwpytbpvmaiymtyysjbjnjkqzrsrhhwjkmxqxesgkiybjeevxnqxklkqac...
output:
Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Bu...
result:
ok 1000 lines
Test #9:
score: 10
Accepted
time: 204ms
memory: 25568kb
input:
1000000 1000000 yfwuqhbatapgckxgynamtcotrqxcqcyrzvljxmzkhcwosomskmzhrolfojphwtrdxnhnpqzawsjdriqjmtph...
output:
Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Putata Bu...
result:
ok 1000000 lines
Test #10:
score: 10
Accepted
time: 195ms
memory: 25568kb
input:
1000000 1000000 ntlhxklgvpuxdgmoajdozchlawxeemyxmruewqnhlycyxxgetzduqfhesxvllghacabbbdnbhpfrwycglgbx...
output:
Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Budada Bu...
result:
ok 1000000 lines
Extra Test:
score: 0
Extra Test Passed