QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#364672#5414. Stop, Yesterday Please No Moreucup-team3294#AC ✓21ms29356kbC++231.8kb2024-03-24 15:58:232024-03-24 15:58:23

Judging History

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

  • [2024-03-24 15:58:23]
  • 评测
  • 测评结果:AC
  • 用时:21ms
  • 内存:29356kb
  • [2024-03-24 15:58:23]
  • 提交

answer

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e3+5;
void solve() {
	int n,m,k,count=0;
	cin>>n>>m>>k;
	string a;
	cin>>a;
	int l1=1,r1=n,l2=1,r2=m,l1min=1,r1max=n,l2min=1,r2max=m;
	for(int i=0; i<a.size(); i++) {
		if(a[i]=='U') {
			l1--,r1--;
			l1min=min(l1,l1min);
			r1max=max(r1max,r1);
		} else if(a[i]=='D') {
			l1++,r1++;
			l1min=min(l1,l1min);
			r1max=max(r1max,r1);
		} else if(a[i]=='L') {
			l2--,r2--;
			l2min=min(l2,l2min);
			r2max=max(r2max,r2);
		} else {
			l2++,r2++;
			l2min=min(l2,l2min);
			r2max=max(r2max,r2);
		}
	}
	int x1=2-l1min,x2=n-(r1max-n),y1=2-l2min,y2=m-(r2max-m);
	if(x1>x2||y1>y2) {
		if(k) cout<<0<<"\n";
		else cout<<n*m<<"\n";
	} else {
		int p=(x2-x1+1)*(y2-y1+1);
		vector<vector<int>> d(n+10,vector<int>(m+10)),v(n+10,vector<int>(m+10));
		string s=a;
		for(int i=0; i<s.size(); i++) {
			if(!v[x1][y1]) {
				d[x1][y1]++;
				d[x2+1][y1]--;
				d[x1][y2+1]--;
				d[x2+1][y2+1]++;
				v[x1][y1]=1;
			}
			if(s[i]=='U') x1--,x2--;
			else if(s[i]=='D') x1++,x2++;
			else if(s[i]=='L') y1--,y2--;
			else y1++,y2++;
		}
		if(!v[x1][y1]) {
			d[x1][y1]++;
			d[x2+1][y1]--;
			d[x1][y2+1]--;
			d[x2+1][y2+1]++;
			v[x1][y1]=1;
		}
		vector<vector<int>> c(n+10,vector<int>(m+10));
		c[1][1]=d[1][1];
		for(int i=2; i<=m; i++) c[1][i]=d[1][i]+c[1][i-1];
		for(int i=2; i<=n; i++) c[i][1]=d[i][1]+c[i-1][1];
		for(int i=2; i<=n; i++) {
			for(int j=2; j<=m; j++) {
				c[i][j]=d[i][j]+c[i-1][j]+c[i][j-1]-c[i-1][j-1];
			}
		}
		int sum=0;
		for(int i=1; i<=n; i++) {
			for(int j=1; j<=m; j++) {
				//cout<<c[i][j]<<" ";
				if(c[i][j]==p-k) sum++;
			}
			//cout<<endl;
		}
		cout<<sum<<"\n";
	}
}
signed main() {
	int T=1;
	cin>>T;
	while(T--) {
		solve();
	}
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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: 0
Accepted
time: 8ms
memory: 4068kb

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
20
99
18
15
34
240
15
0
0
13
14
18
26
16
1
19
108
8
2
2
3
7
0
30
16
21
0
8
10
9
15
5
320
11
7
3
0
0
12
0
11
0
0
14
0
22
36
51
23
7
6
4
2
48
28
8
63
22
49
13
10
4
108
10
18
44
0
15
9
0
4
30
14
99
105
10
14
17
0
66
10
11
28
52
34
56
33
14
56
90
14
0
121
3
48
30
36
13
0
30
7
8
3
11
16
45
20
34
0...

result:

ok 1060 numbers

Test #3:

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

input:

1
1000 1000 979065
DDUULULUDULLULLDLUULURRLDURLRDLRRUURUUUDLRLUUDUUDUDLLDDDULU

output:

958416

result:

ok 1 number(s): "958416"

Test #4:

score: 0
Accepted
time: 6ms
memory: 27316kb

input:

1
1000 1000 943471
LRLDLURLDLRDRDUULULRDDLLRURDUURLLDDLDLDDLLLUUURLDRUDRLLUUUUUDLUUDLURURRDLRLRRRLULRRULURLRRDLDRLUDRRLDDLUDRRLLUDLLLRDULRRRRLDUUDRDLULUUUUDRRDULUDLLUUDLDURDRRLRRLDRLDDRURURLUULRRLDLLRLRDRRUULDLDLULLDLLRULLRUULURDURRLUUDUULLULDLRUDDLRLRLLUDDDLLLUDRRLDDULRRURRDURDDRDLLULRLULURLRDLLURD...

output:

889224

result:

ok 1 number(s): "889224"

Test #5:

score: 0
Accepted
time: 21ms
memory: 29356kb

input:

1
1000 1000 315808
LLRURURRDDDULLDDUDRDLRLLLDDDLUDRDURLDULRLRULUUDLUULUUDULLLLDDURLDUULUUDLLDLLDRUDUULRLLRLRUURLRLULLDDLLDUDLLRUUDRLDLUULDLLDRRRURDULLDRRRDURURDRLDURURUDLURLDURRLRRUDUDURDRLRRRDLRRURLURUDRRLDLRULLDLUURDURLURLLRDLRDRUURURDRUDUUUDLRRLUDLUUDUDDRRDUULUUDDRLLULDUUDRURRDRLULRLULDURLURUDLLD...

output:

426

result:

ok 1 number(s): "426"

Test #6:

score: 0
Accepted
time: 7ms
memory: 27224kb

input:

1
1000 1000 986018
LLULDRRRDDURRUDRUURRRDDLUUDUULRULRDULLD

output:

972180

result:

ok 1 number(s): "972180"

Test #7:

score: 0
Accepted
time: 5ms
memory: 27152kb

input:

1
1000 1000 945431
DDRRURUUDLDULLDLDDLRULDLLDDRRLUDRLUURRLDRDLURUURRRRLRURLURULLLDRDDDRRRLDLDRLRDDUURRURDDDLRUURLUURLRDUDDDLLDUURLDLUDLLRRDUUDRLUULLUULDLURRUDLUURLRLRURDUDRRRDRLRUDLLLLURLULRLRLRRDDUDLRLDUUUULUDLLURRLURRDLRURRRULDDLLLRLRDLUDLLDDRULDUULRDDUUDDUDLURDULLDUDDLULRULDRLDDULDULLUDLULUDRURRR...

output:

893000

result:

ok 1 number(s): "893000"

Test #8:

score: 0
Accepted
time: 19ms
memory: 29232kb

input:

1
1000 1000 460035
RDDUURDULDDLDDLDDLDRRULLRLUURLURRRDRUDDDRDLDLDULUDLRLLRRLRRURRRDLRLUDRDURULDRRDDDDDDLRLDULUULDUDRLLUUUURUUDRURLRRULDRDRUUUUULULRURDDRLRULLLRDRRULUDDUDDLLLRDRUULUUDDRLURDLDURRDLRRLDRRUDLUULRDLURULLDLRLLDDURDUDLDULDLLRULRDLRLUULLUDRUDDDLRRDULULLRUURLUURRLLLLRLDRURLLRLDRRDDDRLUUUUDUL...

output:

417

result:

ok 1 number(s): "417"

Test #9:

score: 0
Accepted
time: 0ms
memory: 27176kb

input:

1
1000 1000 992010
LLLLLDLDRRLUDRR

output:

1999

result:

ok 1 number(s): "1999"

Test #10:

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

input:

1
1000 1000 919600
LLDLRUDRLURRUDRDRRDLRUDLRRRUUULDLDURDDDRUURRRLLURULDRLRLULLULDRULULRLRRRURLDDDRUUULUDLLLLRRLLRDDRDULUDLRLRLDRLUDUDURRULUULLDULUULDLLDRDULUDLDULDDUULDDRRURDRDULRRLDRRDUURURRLUUUDRRLDRRDDLULRDDLDLLRLRLLLRULUUUURRRLDLRUDRRLRURDRLDULLLUDRULLDLDRRUUDLRRLLRLDDLUDLRLRRURUUDUULUDURDURRLUU...

output:

944

result:

ok 1 number(s): "944"

Test #11:

score: 0
Accepted
time: 21ms
memory: 29232kb

input:

1
1000 1000 804351
DLRLDLLLLUDRDURRLDDRRLRUULURURDDDRDLRUDDULRRLLULURDRUUDRURRLURRRDRURRDRLULRDLRRDRRDDUDLUDLDULRUURRLRUUDRLDDRDDUUDULUULUUUDLRURULLRDUUDDDRRLDRUDDUUDRURLRDRUDLRLDDRRLLRLRDUDDULLULRLLDDUDDDUULDULLRRULULDUUULUDRRDRLUDLRRDDUDLRRDDLDLDRUULRRRRRLRLULLRDDRDDDULDRRURUDDLURLRLURLRDRULUDULUU...

output:

640000

result:

ok 1 number(s): "640000"