QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#208572 | #5414. Stop, Yesterday Please No More | ucup-team870# | WA | 5ms | 6480kb | C++20 | 1.8kb | 2023-10-09 19:00:06 | 2023-10-09 19:00:07 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define IOS {cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);}
#define rep(i,j,k) for(int i=j;i<=k;++i)
#define per(i,j,k) for(int i=j;i>=k;--i)
#define P pair<int,int>
#define ll long long
#define vi vector<int>
void Min(int &x,int y){x=min(x,y);}
void Max(int &x,int y){x=max(x,y);}
const int N=2e3+10;
int mp[200]; P dir[200];
int pre[N][N];
void slv(){
int n,m,k;cin>>n>>m>>k;
string S;cin>>S;
int x=0,y=0; int lx=0,rx=0,ly=0,ry=0;
for(auto c:S){
auto [dx,dy]=dir[c];
x+=dx; y+=dy;
Min(lx,x); Max(rx,x);
Min(ly,y); Max(ry,y);
}
lx=1-lx, rx=n-rx;
ly=1-ly, ry=m-ry;
if(lx>rx || ly>ry){
cout<<(k==0?n*m:0)<<'\n'; return;
}
int nn=2*n+5,mm=2*m+5;
rep(i,0,nn)rep(j,0,mm)pre[i][j]=0;
int nx=n+2,ny=m+2; pre[nx][ny]=1;
for(auto c:S){
c=mp[c]; auto [dx,dy]=dir[c];
nx+=dx; ny+=dy;
pre[nx][ny]=1;
}
rep(i,1,nn)pre[i][0]+=pre[i-1][0];
rep(j,1,mm)pre[0][j]+=pre[0][j-1];
rep(i,1,nn){
rep(j,1,mm)pre[i][j]+=pre[i-1][j]+pre[i][j-1]-pre[i-1][j-1];
}
int lenx=rx-lx+1,leny=ry-ly+1;
int ans=0;
auto cal=[&](int x,int y){
if(x<0 || y<0)return 0;
return pre[x][y];
};
rep(i,1,n){
rep(j,1,m){
int xx=lx-i+nx,yy=ly-j+ny;
int wx=xx+rx-lx,wy=yy+ry-ly;
Min(wx,nn); Min(wy,mm);
--xx; --yy;
if(cal(wx,wy)+cal(xx,yy)-cal(xx,wy)-cal(wx,yy) == lenx*leny-k )++ans;
}
}
cout<<ans<<'\n';
}
signed main(){
IOS
mp['U']='D'; mp['D']='U';
mp['L']='R'; mp['R']='L';
dir['U']={-1,0}; dir['D']={1,0};
dir['L']={0,-1}; dir['R']={0,1};
int T;cin>>T;
while(T--)slv();
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3480kb
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: 5ms
memory: 6480kb
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 18 99 9 15 18 240 7 0 0 11 14 18 13 1 14 2 108 4 2 1 0 51 1 28 12 14 0 1 9 9 8 5 320 2 7 3 0 0 8 0 0 0 0 7 0 22 36 51 10 7 6 4 2 48 28 8 63 11 49 0 4 2 108 9 9 44 0 15 1 0 4 30 2 99 105 5 0 17 0 66 1 11 28 52 16 56 22 5 56 90 14 0 121 3 48 12 15 9 0 30 5 5 2 7 16 45 20 34 0 19 0 16 0 39 0 20 ...
result:
wrong answer 3rd numbers differ - expected: '20', found: '18'