QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#623938 | #5414. Stop, Yesterday Please No More | Soestx | WA | 4ms | 6080kb | C++23 | 1.4kb | 2024-10-09 14:24:44 | 2024-10-09 14:24:45 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pll pair<int,int>
#define fi first
#define se second
typedef long long LL;
typedef unsigned long long ull;
int n,m,k;
const int N=1e3+10,M=1e5+10,mod=45989;
int res,cnt;
int dp[N][N];
map<char,pll> mp;
void add(int x1,int y1,int x2,int y2)
{
dp[x1][y1]++;
dp[x2+1][y2+1]++;
dp[x1][y2+1]--;
dp[x2+1][y1]--;
}
void solve() {
cin>>n>>m>>k;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++) dp[i][j]=0;
}
string s;
cin>>s;
int x=0,y=0,L=0,R=0,U=0,D=0;
for(auto it:s)
{
if(it=='U') x--;
if(it=='D') x++;
if(it=='L') y--;
if(it=='R') y++;
L=min(L,y);
R=max(R,y);
U=min(U,x);
D=max(D,x);
}
L=-L+1;
U=-U+1;
R=m-R;
D=n-D;
x=U,y=L;
int lx=D-U,ly=R-L;
int tmp=(lx+1)*(ly+1)-k;
if(L>R||U>D)
{
if(k==0)
cout<<n*m<<endl;
else cout<<0<<endl;
return;
}
add(x,y,x+lx,y+ly);
for(auto it:s)
{
x+=mp[it].fi,y+=mp[it].se;
add(x,y,x+lx,y+ly);
}
res=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
dp[i][j]+=dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1];
if(dp[i][j]==tmp) res++;
}
}
cout<<res<<endl;
}
signed main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int T=1;
cin>>T;
mp['U']={-1,0};
mp['D']={1,0};
mp['L']={0,-1};
mp['R']={0,1};
while(T--)solve();
return 0;
}
/*
9
0 0 0 0 0 -1 -1 -1 -1
*/
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 5684kb
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: 4ms
memory: 6080kb
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 17 9 18 15 21 240 14 0 0 5 1 18 3 16 1 31 108 8 1 2 3 7 0 29 4 20 0 8 10 9 6 5 320 3 5 3 0 0 7 0 11 0 0 8 128 22 18 51 23 5 6 3 9 48 28 8 1 22 49 13 10 2 12 6 18 44 0 14 5 0 4 30 14 99 105 2 27 17 0 66 10 11 28 52 32 8 22 14 0 90 15 0 22 3 48 29 20 9 0 30 6 8 3 10 16 45 16 17 0 20 0 21 0 6 0 ...
result:
wrong answer 3rd numbers differ - expected: '20', found: '17'