QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#473007#6699. Wandering RobotYangHyyyAC ✓27ms3676kbC++23748b2024-07-11 20:55:372024-07-11 20:55:37

Judging History

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

  • [2024-07-11 20:55:37]
  • 评测
  • 测评结果:AC
  • 用时:27ms
  • 内存:3676kb
  • [2024-07-11 20:55:37]
  • 提交

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,我给组数据试试?

詳細信息

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