QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#439814 | #5414. Stop, Yesterday Please No More | Fluoresce | WA | 4ms | 4356kb | C++20 | 1.9kb | 2024-06-12 18:51:35 | 2024-06-12 18:51:36 |
Judging History
answer
#include<bits/stdc++.h>
#include<unordered_set>
typedef long long ll;
typedef long double ld;
#define debug(a) cout<<a<<'\n'
#define Pll pair<ll,ll>
#define PII pair<int,int>
#define ft first
#define sd second
using namespace std;
const int N = 2e3 + 10,M=1e7,base=1e6+10, mod = 998244353;
const ll inf = 1e18;
const ld eps = 1e-8;
ll n,k,m;
int g[N][N];
int main() {
/*fstream f;
f.open("C:\\Users\\Secourir-Devour\\Desktop\\hack.txt", ios::in);*/
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;
cin >> t;
string s;
ll x, y, z, d;
while (t--) {
cin >> n >> m >> k >> s;
unordered_set<ll> ust;
ll u = 1, d = n, l = 1, r = m;
x = 0, y = 0;
ust.insert(0);
for (int i = 0; i < s.length(); ++i) {
if (s[i] == 'U')++x;
else if (s[i] == 'D')--x;
else if (s[i] == 'L')++y;
else --y;
ust.insert(x*M+y);
u = max(u, x + 1);
d = min(d, x + n);
l = max(l, y + 1);
r = min(r, y + m);
}
if (d < u || r < l) {
if(k)cout << 0 << '\n';
else cout<<n*m<<'\n';
continue;
}
int x1, y1, x2, y2;
for (int i = 0; i <= n + 2; ++i) {
for (int j = 0; j <= m + 2; ++j) {
g[i][j] = 0;
}
}
for (auto val : ust) {
x = val / M;
val %= M;
if (val > base) { ++x; val -= M; }
else if (val < -base) { --x; val += M; }
y = val;
x1 = u + x, y1 = l + y;
x2 = d + x, y2 = r + y;
x1 = max(x1, 1), y1 = max(y1, 1);
x2 = min((ll)x2, n), y2 = min((ll)y2, m);
if (x1 > n || x2<1 || y1>m || y1 < 1)continue;
++g[x1][y1];
--g[x1][y2 + 1];
--g[x2 + 1][y1];
++g[x2 + 1][y2 + 1];
}
ll cnt = 0;
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= m; ++j) {
g[i][j] += g[i - 1][j] + g[i][j - 1] - g[i-1][j-1];
if (g[i][j] == k)++cnt;
}
}
cout << cnt << '\n';
}
return 0;
}
/*
3
4 5 3
ULDDRR
4 5 0
UUUUUUU
4 5 10
UUUUUUU
*/
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3868kb
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: 4356kb
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 0 0 0 15 0 240 0 0 0 0 0 18 0 0 0 0 0 0 1 1 3 0 0 0 0 0 0 0 0 9 2 0 320 0 0 3 0 0 0 0 0 0 0 0 0 22 0 51 0 1 6 0 0 48 28 8 0 0 0 0 0 0 0 0 0 44 0 0 0 0 4 30 0 0 105 0 0 17 0 66 0 11 28 0 0 0 0 0 0 90 0 0 0 1 48 0 0 0 0 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 0 0 225 0 0 0 0 11 0 90 0 0 228 0 3...
result:
wrong answer 3rd numbers differ - expected: '20', found: '0'