提出 #51655276
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
int main() {
int N; cin >> N;
vector<int> P(N);
for (int i = 0; i < N; i++) {
cin >> P.at(i);
P.at(i)--;
}
string S; cin >> S;
queue<string> q;
q.push(S);
while (q.front().find('?') != string::npos) {
string s = q.front(); q.pop();
int index = s.find_first_of('?');
s.at(index) = 'L'; q.push(s);
s.at(index) = 'R'; q.push(s);
}
unsigned long long ans = 0;
while (!q.empty()) { // ある利き手の組み合わせ
string domHands = q.front(); q.pop();
vector<bool> spoons(N, true);
for (int i = 0; i < N; i++) { // 一人ずつ取ってく
int p = P.at(i);
bool leftSpoon = spoons.at(p), rightSpoon = spoons.at((p + 1) % N);
if (leftSpoon && rightSpoon) { // スプーン2つアリ
if (domHands.at(p) == 'L') spoons.at(p) = false;
else spoons.at((p + 1) % N) = false;
}
else if (leftSpoon) { // 左だけアリ
spoons.at(p) = false;
}
else if (rightSpoon) { // 右だけアリ
spoons.at((p + 1) % N) = false;
}
else { // スプーンなし
break;
}
if (i == N - 1) ans = (ans + 1) % 998244353;
}
}
cout << ans % 998244353 << endl;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | A - Spoon Taking Problem |
| ユーザ | YuTo_QC |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 0 |
| コード長 | 1313 Byte |
| 結果 | RE |
| 実行時間 | 2427 ms |
| メモリ | 3632820 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 0 / 400 | ||||||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 3528 KiB |
| 00_sample_01.txt | AC | 1 ms | 3468 KiB |
| 00_sample_02.txt | AC | 1 ms | 3616 KiB |
| 01_test_00.txt | AC | 1 ms | 3400 KiB |
| 01_test_01.txt | AC | 13 ms | 7688 KiB |
| 01_test_02.txt | AC | 1 ms | 3616 KiB |
| 01_test_03.txt | AC | 1 ms | 3556 KiB |
| 01_test_04.txt | AC | 2 ms | 4080 KiB |
| 01_test_05.txt | AC | 1 ms | 3472 KiB |
| 01_test_06.txt | AC | 1 ms | 3536 KiB |
| 01_test_07.txt | AC | 49 ms | 20188 KiB |
| 01_test_08.txt | AC | 4 ms | 4600 KiB |
| 01_test_09.txt | AC | 1 ms | 3504 KiB |
| 01_test_10.txt | AC | 1 ms | 3492 KiB |
| 01_test_11.txt | AC | 1 ms | 3528 KiB |
| 01_test_12.txt | AC | 1 ms | 3480 KiB |
| 01_test_13.txt | AC | 1 ms | 3548 KiB |
| 01_test_14.txt | AC | 1 ms | 3508 KiB |
| 01_test_15.txt | RE | 1990 ms | 3630720 KiB |
| 01_test_16.txt | RE | 1957 ms | 3632388 KiB |
| 01_test_17.txt | RE | 1877 ms | 3631480 KiB |
| 01_test_18.txt | RE | 1909 ms | 3631828 KiB |
| 01_test_19.txt | TLE | 2427 ms | 3631224 KiB |
| 01_test_20.txt | TLE | 2418 ms | 3622292 KiB |
| 01_test_21.txt | RE | 1873 ms | 3632088 KiB |
| 01_test_22.txt | RE | 1856 ms | 3631288 KiB |
| 01_test_23.txt | RE | 2089 ms | 3632204 KiB |
| 01_test_24.txt | RE | 2182 ms | 3631940 KiB |
| 01_test_25.txt | TLE | 2421 ms | 3620700 KiB |
| 01_test_26.txt | RE | 2122 ms | 3632704 KiB |
| 01_test_27.txt | RE | 1903 ms | 3632276 KiB |
| 01_test_28.txt | RE | 1938 ms | 3632820 KiB |
| 01_test_29.txt | RE | 2158 ms | 3632384 KiB |
| 01_test_30.txt | RE | 2027 ms | 3632796 KiB |