Submission #50353182
Source Code Expand
#include <bits/stdc++.h>
#include <atcoder/modint>
namespace {
using ModInt [[maybe_unused]] = atcoder::modint998244353;
using Num [[maybe_unused]] = long long int;
using Vec [[maybe_unused]] = std::vector<Num>;
using Set [[maybe_unused]] = std::set<Num>;
using Mset [[maybe_unused]] = std::multiset<Num>;
using Edges [[maybe_unused]] = std::vector<std::vector<Num>>;
template<typename T>
using Q [[maybe_unused]] = std::queue<T>;
template<typename T>
using PQ [[maybe_unused]] = std::priority_queue<T, std::vector<T>, std::greater<T>>;
}
void solve(std::istream& is, std::ostream& os) {
Num h, w, n;
is >> h >> w >> n;
std::string t;
is >> t;
std::vector<std::string> grid(h);
for(auto&& s : grid) {
is >> s;
}
std::map<char, std::pair<Num, Num>> dirs {
{'L', {0,-1}}, {'R', {0,1}}, {'U', {-1,0}}, {'D', {1,0}}};
std::set<std::pair<Num,Num>> gs;
for(Num init_y{1}; init_y<h; ++init_y) {
for(Num init_x{1}; init_x<w; ++init_x) {
bool valid = (grid.at(init_y).at(init_x) == '.');
Num y = init_y;
Num x = init_x;
for(const auto& d : t) {
const auto [dy, dx] = dirs[d];
y += dy;
x += dx;
if ((y < 0) || (y >= h) || (x < 0) || (x >= w) || (grid.at(y).at(x) == '#')) {
valid = false;
break;
}
}
if (valid) {
gs.insert(std::make_pair(y, x));
}
}
}
os << gs.size() << "\n";
}
int main(void) {
solve(std::cin, std::cout);
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Takahashi Gets Lost |
| User | zettsut |
| Language | C++ 20 (gcc 12.2) |
| Score | 250 |
| Code Size | 1747 Byte |
| Status | AC |
| Exec Time | 477 ms |
| Memory | 19532 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 250 / 250 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | example0.txt, example1.txt |
| All | 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, example0.txt, example1.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 000.txt | AC | 460 ms | 19460 KiB |
| 001.txt | AC | 477 ms | 19532 KiB |
| 002.txt | AC | 220 ms | 4032 KiB |
| 003.txt | AC | 182 ms | 4020 KiB |
| 004.txt | AC | 200 ms | 4036 KiB |
| 005.txt | AC | 235 ms | 4100 KiB |
| 006.txt | AC | 466 ms | 19504 KiB |
| 007.txt | AC | 112 ms | 10128 KiB |
| 008.txt | AC | 4 ms | 3848 KiB |
| 009.txt | AC | 3 ms | 3552 KiB |
| 010.txt | AC | 2 ms | 3648 KiB |
| 011.txt | AC | 10 ms | 4308 KiB |
| 012.txt | AC | 31 ms | 4876 KiB |
| 013.txt | AC | 15 ms | 5892 KiB |
| 014.txt | AC | 56 ms | 7000 KiB |
| 015.txt | AC | 399 ms | 17044 KiB |
| 016.txt | AC | 369 ms | 16928 KiB |
| 017.txt | AC | 60 ms | 11124 KiB |
| 018.txt | AC | 104 ms | 12372 KiB |
| 019.txt | AC | 359 ms | 18036 KiB |
| 020.txt | AC | 7 ms | 4364 KiB |
| 021.txt | AC | 10 ms | 4580 KiB |
| 022.txt | AC | 14 ms | 5952 KiB |
| 023.txt | AC | 7 ms | 4688 KiB |
| 024.txt | AC | 13 ms | 5688 KiB |
| 025.txt | AC | 21 ms | 6224 KiB |
| 026.txt | AC | 24 ms | 6668 KiB |
| 027.txt | AC | 21 ms | 6956 KiB |
| 028.txt | AC | 45 ms | 10356 KiB |
| 029.txt | AC | 236 ms | 9252 KiB |
| 030.txt | AC | 241 ms | 8832 KiB |
| 031.txt | AC | 297 ms | 11548 KiB |
| 032.txt | AC | 388 ms | 16184 KiB |
| 033.txt | AC | 404 ms | 16780 KiB |
| 034.txt | AC | 418 ms | 17552 KiB |
| 035.txt | AC | 419 ms | 17176 KiB |
| 036.txt | AC | 415 ms | 17240 KiB |
| 037.txt | AC | 435 ms | 18156 KiB |
| example0.txt | AC | 1 ms | 3512 KiB |
| example1.txt | AC | 1 ms | 3568 KiB |