QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#270418 | #5414. Stop, Yesterday Please No More | PZheng | WA | 3ms | 3556kb | C++14 | 1.1kb | 2023-11-30 20:41:57 | 2023-11-30 20:41:58 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
void solve()
{
int n,m,k;
cin>>n>>m>>k;
int a[2*n+5][2*m+5];
memset(a,0,sizeof(a));
string s;
cin>>s;
int x=n+3,y=m+3,l=1,r=m,u=n,d=1;
a[n+3][m+3]=1;
for(int i=0;i<s.size();i++){
char c=s[i];
if(c=='U'){
y++;
u++;
d++;
}
if(c=='D'){
y--;
u--;
d--;
}
if(c=='L'){
x--;
l--;
r--;
}
if(c=='R'){
x++;
l++;
r++;
}
l=max(l,1);
d=max(d,1);
r=min(r,m);
u=min(u,n);
if(x>0&&y>0&&x<2*n+5&&y<2*m+5){
a[x][y]=1;
}
}
int cnt=0;
if(l>r||u<d){
if(k==0){
cout<<m*n<<endl;
}
else{
cout<<0<<endl;
}
return;
}
for(int i=1;i<2*n+5;i++){
for(int j=1;j<2*m+5;j++){
a[i][j]+=a[i][j-1]+a[i-1][j]-a[i-1][j-1];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
int x=n+2-i,y=m+2-j;
//cout<<i<<' '<<j<<' '<<a[x+u][y+r]-a[x+d-1][y+r]-a[x+u][y+l-1]+a[x+d-1][y+l-1]<<endl;
if(a[x+u][y+r]-a[x+d-1][y+r]-a[x+u][y+l-1]+a[x+d-1][y+l-1]==(r-l+1)*(u-d+1)-k){
cnt++;
}
}
}
cout<<cnt<<endl;
}
int main()
{
int t;
cin>>t;
while(t--){
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3376kb
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: 3ms
memory: 3556kb
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 3 91 3 15 34 240 6 0 0 4 14 18 8 17 21 6 108 6 2 2 3 50 1 15 4 15 0 8 10 9 12 0 320 4 10 0 0 0 4 0 1 0 0 13 0 22 51 51 7 1 6 1 2 48 28 8 60 1 48 0 6 7 110 2 1 44 0 3 9 0 4 30 14 91 105 7 2 17 0 66 10 11 28 42 3 32 1 11 56 90 1 3 120 0 48 26 7 3 0 30 4 5 3 15 30 49 3 28 0 19 0 3 0 32 0 11 27 4...
result:
wrong answer 3rd numbers differ - expected: '20', found: '3'