QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#753002#5414. Stop, Yesterday Please No MoreHHSWA 594ms19324kbC++141.6kb2024-11-16 10:54:162024-11-16 10:54:17

Judging History

This is the latest submission verdict.

  • [2024-11-16 10:54:17]
  • Judged
  • Verdict: WA
  • Time: 594ms
  • Memory: 19324kb
  • [2024-11-16 10:54:16]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m,k;
ll t;
ll cha[1002][1002];
ll st[1002][1002];
void solve()
{
	cin>>n>>m>>k;
	memset(cha,0,sizeof cha);
	memset(st,0,sizeof st);
	string str;
	cin>>str;
	ll chui=0,shui=0;
	ll p1=0,p2=0,p3=0,p4=0;
	for(auto x:str)
	{
		if(x=='U')
			chui++;
		else if(x=='D')
			chui--;
		else if(x=='L')
			shui++;
		else 
			shui--;
		if(chui>0)
			p1=max(p1,chui);
		else if(chui<0)
			p2=max(p2,(-chui));
	    if(shui>0)
			p3=max(p3,shui);
		else if(shui<0)
			p4=max(p4,(-shui));
		
	}
	p1=1+p1;p2=n-p2;p3=1+p3;p4=m-p4;
	ll len1=p2-p1+1;
	ll len2=p4-p3+1;
	ll x=p1,y=p3;
//	cout<<x<<" "<<y<<endl;
//	cout<<len1<<" "<<len2<<endl;
	if(len1<=0||len2<=0)
	{
		if(k==0)
			cout<<n*m<<endl;
		else cout<<0<<endl;
		return ;
	}
	cha[x][y]++;
	cha[x+len1][y]--;
	cha[x][y+len2]--;
	cha[x+len1][y+len2]++;
	for(auto s:str)
	{
		if(s=='U')
			x--;
		else if(s=='D')
			x++;
		else if(s=='L')
			y--;
		else 
			y++;
		if(st[x][y])continue;
		st[x][y]=1;
		cha[x][y]++;
		cha[x+len1][y]--;
		cha[x][y+len2]--;
		cha[x+len1][y+len2]++;
	//	cout<<x<<" "<<y<<endl;
	}
	for(ll i=1;i<=n;i++)
	{
		for(ll j=1;j<=m;j++)
		{
			cha[i][j]+=cha[i-1][j];
			cha[i][j]+=cha[i][j-1];
			cha[i][j]-=cha[i-1][j-1];
		}
	}
	ll cnt=0;
	ll ans=len1*len2-k;
	for(ll i=1;i<=n;i++)
	{
		for(ll j=1;j<=m;j++)
		{
			if(cha[i][j]==ans)
				cnt++;
		}
	}
	cout<<cnt<<endl;
	//cout<<p1<<" "<<p2<<" "<<p3<<" "<<p4<<endl;
}
int main()
{
	cin>>t;
	while(t--)
	{
		solve();
	}
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

3
4 5 3
ULDDRR
4 5 0
UUUUUUU
4 5 10
UUUUUUU

output:

2
20
0

result:

ok 3 number(s): "2 20 0"

Test #2:

score: -100
Wrong Answer
time: 594ms
memory: 19228kb

input:

1060
19 12 0
UDLDDUUUUDDDLLRDUDUURULUUUDRDUDRDRLRLRLULULLLDLDDRLUUUURUUUDDRLLRUUUDULURUULLRDRLRDDURDUUURRRLURLRUULRRUDURDLUUURDLURDDLUUURDDRLLURRDLRUDLRDRLLRRDRDDLDRURRRLUDULLLRUUDLRRURRDLLRRRDLLRDDDLRLRURURDDDL
11 1 0
UR
3 18 33
UDRLR
17 11 132
RLDRDLDRUU
6 10 13
UULUDDLRDLUUDLDD
1 15 0
D
6 20 50
D...

output:

228
11
19
0
18
15
34
240
15
0
0
13
14
18
26
16
1
19
108
8
1
2
3
7
0
29
14
21
0
8
1
9
13
5
320
3
7
3
0
0
12
0
11
0
0
14
0
22
36
51
23
5
6
3
11
48
28
8
7
22
49
13
10
2
0
4
18
44
0
14
9
0
4
30
14
99
105
5
14
17
0
66
10
11
28
52
34
8
33
14
0
90
0
0
11
3
48
30
36
12
0
30
7
8
3
11
16
45
20
34
0
20
0
21
0
...

result:

wrong answer 3rd numbers differ - expected: '20', found: '19'