QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#473007 | #6699. Wandering Robot | YangHyyy | AC ✓ | 27ms | 3676kb | C++23 | 748b | 2024-07-11 20:55:37 | 2024-07-11 20:55:37 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int p=1e9+7;
void solve()
{
int n,k;
int ans=0;
cin>>n>>k;
string s;
cin>>s;
int x=0,y=0;int st=0;
for(int i=0;i<s.size();i++)//找出第一轮最大值
{
if(s[i]=='U')y++;
if(s[i]=='D')y--;
if(s[i]=='R')x++;
if(s[i]=='L')x--;
if(st<abs(x)+abs(y))
st=abs(x)+abs(y);
}
int nx=(k-1)*x,ny=(k-1)*y;
int ed=0;
for(int i=0;i<s.size();i++)//找出最后一轮最大值
{
if(s[i]=='U')ny++;
if(s[i]=='D')ny--;
if(s[i]=='R')nx++;
if(s[i]=='L')nx--;
if(ed<abs(nx)+abs(ny))
ed=abs(nx)+abs(ny);
}
ans=max(st,ed);
cout<<ans<<endl;
}
signed main()
{
int t;
cin>>t;
while(t--)
solve();
return 0;
}
这程序好像有点Bug,我给组数据试试?
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3520kb
input:
2 3 3 RUL 1 1000000000 D
output:
4 1000000000
result:
ok 2 number(s): "4 1000000000"
Test #2:
score: 0
Accepted
time: 27ms
memory: 3676kb
input:
10307 33 374631889 RUDUUDLDDUULULDRDDRRRRDDDLRURULDL 9 40711970 UUDLRDRDD 3 111498848 LRL 14 804199874 LRRLLRULRUURUU 44 936610223 ULDRUULRRDLRRLRLRLRDUDDUDDUUDDLRUUDRUURLULUD 15 669124042 RUULRLDDULUDRDR 47 500758328 LRULULLLLUDURLRRDLDDLUUDURUDDLLLLDRLULURDULRDLU 18 581526184 DLLUDUUULUDULULRLR 47...
output:
1873159447 122135910 111498848 4825199244 3746440893 669124044 5508341608 4652209473 5606278385 8301130033 3707957881 2821884978 463006533 1581485530 881213211 236693627 816980016 4406947601 1057578188 1455154265 4107693543 5705944723 3424946932 1154164548 4496114815 3733695266 6323077602 2262619671...
result:
ok 10307 numbers