Submission #65502553


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

#define rep(i, a, b) for (int i = (a); i < (b); i++)
#define all(x) begin(x), end(x)
#define sz(x) int((x).size())
using ll = long long;
using pii = pair<int, int>;
using vi = vector<int>;

#ifdef LOCAL
auto operator<<(auto& o, auto x) -> decltype(x.first, o);
auto operator<<(auto& o, auto x) -> decltype(x.end(), o) {
  o << "{";
  for (int i = 0; auto y : x) o << ", " + !i++ * 2 << y;
  return o << "}"; }
auto operator<<(auto& o, auto x) -> decltype(x.first, o) {
  return o << "(" << x.first << ", " << x.second << ")"; }
void __print(auto... x) { ((cerr << x << " "), ...) << endl; }
#define debug(x...) __print("[" #x "]:", x)
#else
#define debug(...) 2137
#endif

const int N = 200200;
int n, m;
string s;
int pra[2 * N], dol[2 * N];
int a[N], b[N];

void solve() {
  cin >> n >> m >> s;
  pra[n + m - 2] = dol[n + m - 2] = 0;
  for (int i = n + m - 3; i >= 0; i--) {
    pra[i] = pra[i + 1];
    dol[i] = dol[i + 1];
    pra[i] += s[i] == 'R';
    dol[i] += s[i] == 'D';
  }
  rep(i, 0, n) a[i] = -1, b[i] = m;
  int x = 0, y = 0;
  rep(i, 0, n + m - 2) {
    a[x] = max(a[x], y);
    if (s[i] == 'D') {
      x++;
    } else if (s[i] == 'R') {
      y++;
    } else {
      if (y + pra[i + 1] < m - 1) y++;
      else x++;
    }
  }
  a[x] = max(a[x], m - 1);
  x = y = 0;
  rep(i, 0, n + m - 2) {
    b[x] = min(b[x], y);
    if (s[i] == 'D') {
      x++;
    } else if (s[i] == 'R') {
      y++;
    } else {
      if (x + dol[i + 1] < n - 1) x++;
      else y++;
    }
  }
  b[x] = min(b[x], m - 1);
  ll odp = 0;
  rep(i, 0, n) odp += a[i] - b[i] + 1;
  cout << odp << '\n';
}

int main() {
  cin.tie(0)->sync_with_stdio(0);
  int t;
  cin >> t;
  while (t--) solve();
}

Submission Info

Submission Time
Task A - Union of Grid Paths
User ahsoltan
Language C++ 20 (gcc 12.2)
Score 400
Code Size 1810 Byte
Status AC
Exec Time 11 ms
Memory 8516 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 1
AC × 56
Set Name Test Cases
Sample 01_sample_01.txt
All 01_sample_01.txt, 02_small_01.txt, 02_small_02.txt, 02_small_03.txt, 02_small_04.txt, 02_small_05.txt, 02_small_06.txt, 02_small_07.txt, 02_small_08.txt, 02_small_09.txt, 02_small_10.txt, 03_mid_01.txt, 03_mid_02.txt, 03_mid_03.txt, 03_mid_04.txt, 03_mid_05.txt, 04_max_01.txt, 04_max_02.txt, 04_max_03.txt, 04_max_04.txt, 04_max_05.txt, 04_max_06.txt, 04_max_07.txt, 04_max_08.txt, 04_max_09.txt, 04_max_10.txt, 04_max_11.txt, 04_max_12.txt, 04_max_13.txt, 04_max_14.txt, 04_max_15.txt, 04_max_16.txt, 04_max_17.txt, 04_max_18.txt, 04_max_19.txt, 04_max_20.txt, 04_max_21.txt, 04_max_22.txt, 04_max_23.txt, 04_max_24.txt, 04_max_25.txt, 04_max_26.txt, 04_max_27.txt, 04_max_28.txt, 04_max_29.txt, 04_max_30.txt, 04_max_31.txt, 04_max_32.txt, 04_max_33.txt, 04_max_34.txt, 04_max_35.txt, 04_max_36.txt, 04_max_37.txt, 04_max_38.txt, 04_max_39.txt, 04_max_40.txt
Case Name Status Exec Time Memory
01_sample_01.txt AC 1 ms 3416 KiB
02_small_01.txt AC 11 ms 3492 KiB
02_small_02.txt AC 11 ms 3468 KiB
02_small_03.txt AC 10 ms 3552 KiB
02_small_04.txt AC 11 ms 3552 KiB
02_small_05.txt AC 10 ms 3544 KiB
02_small_06.txt AC 10 ms 3548 KiB
02_small_07.txt AC 11 ms 3552 KiB
02_small_08.txt AC 10 ms 3480 KiB
02_small_09.txt AC 11 ms 3420 KiB
02_small_10.txt AC 10 ms 3448 KiB
03_mid_01.txt AC 4 ms 3580 KiB
03_mid_02.txt AC 4 ms 3524 KiB
03_mid_03.txt AC 4 ms 3644 KiB
03_mid_04.txt AC 4 ms 3516 KiB
03_mid_05.txt AC 4 ms 3640 KiB
04_max_01.txt AC 5 ms 8332 KiB
04_max_02.txt AC 5 ms 8376 KiB
04_max_03.txt AC 5 ms 8340 KiB
04_max_04.txt AC 5 ms 8404 KiB
04_max_05.txt AC 5 ms 8432 KiB
04_max_06.txt AC 5 ms 8292 KiB
04_max_07.txt AC 5 ms 8516 KiB
04_max_08.txt AC 5 ms 8256 KiB
04_max_09.txt AC 7 ms 8420 KiB
04_max_10.txt AC 8 ms 8364 KiB
04_max_11.txt AC 5 ms 8432 KiB
04_max_12.txt AC 5 ms 8340 KiB
04_max_13.txt AC 5 ms 8400 KiB
04_max_14.txt AC 5 ms 8372 KiB
04_max_15.txt AC 5 ms 8396 KiB
04_max_16.txt AC 5 ms 8412 KiB
04_max_17.txt AC 5 ms 8408 KiB
04_max_18.txt AC 5 ms 8336 KiB
04_max_19.txt AC 5 ms 8356 KiB
04_max_20.txt AC 5 ms 8332 KiB
04_max_21.txt AC 7 ms 8260 KiB
04_max_22.txt AC 8 ms 8396 KiB
04_max_23.txt AC 5 ms 8376 KiB
04_max_24.txt AC 5 ms 8464 KiB
04_max_25.txt AC 5 ms 8364 KiB
04_max_26.txt AC 5 ms 8432 KiB
04_max_27.txt AC 5 ms 8292 KiB
04_max_28.txt AC 5 ms 8364 KiB
04_max_29.txt AC 5 ms 8376 KiB
04_max_30.txt AC 4 ms 8400 KiB
04_max_31.txt AC 5 ms 8364 KiB
04_max_32.txt AC 5 ms 8376 KiB
04_max_33.txt AC 8 ms 8432 KiB
04_max_34.txt AC 8 ms 8372 KiB
04_max_35.txt AC 5 ms 8428 KiB
04_max_36.txt AC 5 ms 8292 KiB
04_max_37.txt AC 8 ms 8404 KiB
04_max_38.txt AC 8 ms 8432 KiB
04_max_39.txt AC 9 ms 8336 KiB
04_max_40.txt AC 7 ms 8288 KiB