提出 #54847829
ソースコード 拡げる
#include <iostream>
#include "bits/stdc++.h"
#define ll unsigned long long
using namespace std;
map<string, int> mp;
int check(string s, int i, int j)
{
if (i < 0)
return 1;
// cout << s << endl;
while (i < j)
{
if (s[i] != s[j])
return 1;
i++;
j--;
}
return 0;
}
int help(int i, string &s, int k)
{
if (i == s.size())
{
// cout << s << endl;
if (check(s, i - k + 1, i))
return 1;
return 0;
}
int j = i - k + 1;
int m = i;
string d = "";
if (j >= 0)
d = s.substr(j, k) + to_string(i);
else
d = s.substr(0, j) + to_string(i);
if (mp.find(d) != mp.end())
return mp[d];
if (s[i] == '?')
{
s[i] = 'A';
int a = 0;
int b = 0;
if (check(s, j, m))
a = help(i + 1, s, k);
s[i] = 'B';
if (check(s, j, m))
b = help(i + 1, s, k);
s[i] = '?';
return mp[d] = (a + b) % (998244353);
}
else
{
if (!check(s, j, m))
return 0;
return mp[d] = help(i + 1, s, k) % (998244353);
}
}
int main()
{
int n, k;
int fl = 0;
cin >> n >> k;
string s;
cin >> s;
cout << help(0, s, k) % (998244353);
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Avoid K Palindrome |
| ユーザ | moonknight |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 450 |
| コード長 | 1371 Byte |
| 結果 | AC |
| 実行時間 | 537 ms |
| メモリ | 44104 KiB |
コンパイルエラー
Main.cpp: In function ‘int help(int, std::string&, int)’:
Main.cpp:25:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
25 | if (i == s.size())
| ~~^~~~~~~~~~~
Main.cpp: In function ‘int main()’:
Main.cpp:64:9: warning: unused variable ‘fl’ [-Wunused-variable]
64 | int fl = 0;
| ^~
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 450 / 450 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt, 01_random_25.txt, 01_random_26.txt, 01_random_27.txt, 01_random_28.txt, 01_random_29.txt, 01_random_30.txt, 01_random_31.txt, 01_random_32.txt, 01_random_33.txt, 01_random_34.txt, 01_random_35.txt, 01_random_36.txt, 01_random_37.txt, 01_random_38.txt, 01_random_39.txt, 01_random_40.txt, 01_random_41.txt, 01_random_42.txt, 01_random_43.txt, 01_random_44.txt, 01_random_45.txt, 01_random_46.txt, 01_random_47.txt, 01_random_48.txt, 01_random_49.txt, 01_random_50.txt, 01_random_51.txt, 01_random_52.txt, 01_random_53.txt, 01_random_54.txt, 01_random_55.txt, 01_random_56.txt, 01_random_57.txt, 01_random_58.txt, 01_random_59.txt, 01_random_60.txt, 01_random_61.txt, 01_random_62.txt, 01_random_63.txt, 01_random_64.txt, 01_random_65.txt, 01_random_66.txt, 01_random_67.txt, 01_random_68.txt, 01_random_69.txt, 01_random_70.txt, 01_random_71.txt, 01_random_72.txt, 01_random_73.txt, 01_random_74.txt, 01_random_75.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 3508 KiB |
| 00_sample_01.txt | AC | 2 ms | 3804 KiB |
| 00_sample_02.txt | AC | 1 ms | 3548 KiB |
| 00_sample_03.txt | AC | 1 ms | 3600 KiB |
| 01_random_04.txt | AC | 529 ms | 44028 KiB |
| 01_random_05.txt | AC | 240 ms | 23972 KiB |
| 01_random_06.txt | AC | 532 ms | 44084 KiB |
| 01_random_07.txt | AC | 528 ms | 44084 KiB |
| 01_random_08.txt | AC | 4 ms | 4384 KiB |
| 01_random_09.txt | AC | 242 ms | 23908 KiB |
| 01_random_10.txt | AC | 1 ms | 3516 KiB |
| 01_random_11.txt | AC | 1 ms | 3560 KiB |
| 01_random_12.txt | AC | 1 ms | 3520 KiB |
| 01_random_13.txt | AC | 24 ms | 6616 KiB |
| 01_random_14.txt | AC | 1 ms | 3504 KiB |
| 01_random_15.txt | AC | 94 ms | 12424 KiB |
| 01_random_16.txt | AC | 9 ms | 5016 KiB |
| 01_random_17.txt | AC | 525 ms | 43872 KiB |
| 01_random_18.txt | AC | 1 ms | 3516 KiB |
| 01_random_19.txt | AC | 1 ms | 3708 KiB |
| 01_random_20.txt | AC | 1 ms | 3708 KiB |
| 01_random_21.txt | AC | 1 ms | 3560 KiB |
| 01_random_22.txt | AC | 1 ms | 3508 KiB |
| 01_random_23.txt | AC | 2 ms | 3544 KiB |
| 01_random_24.txt | AC | 2 ms | 4028 KiB |
| 01_random_25.txt | AC | 537 ms | 43660 KiB |
| 01_random_26.txt | AC | 1 ms | 3428 KiB |
| 01_random_27.txt | AC | 1 ms | 3568 KiB |
| 01_random_28.txt | AC | 1 ms | 3712 KiB |
| 01_random_29.txt | AC | 13 ms | 5368 KiB |
| 01_random_30.txt | AC | 1 ms | 3504 KiB |
| 01_random_31.txt | AC | 100 ms | 12952 KiB |
| 01_random_32.txt | AC | 21 ms | 6284 KiB |
| 01_random_33.txt | AC | 529 ms | 44100 KiB |
| 01_random_34.txt | AC | 1 ms | 3504 KiB |
| 01_random_35.txt | AC | 1 ms | 3568 KiB |
| 01_random_36.txt | AC | 1 ms | 3432 KiB |
| 01_random_37.txt | AC | 4 ms | 4088 KiB |
| 01_random_38.txt | AC | 76 ms | 11008 KiB |
| 01_random_39.txt | AC | 79 ms | 11336 KiB |
| 01_random_40.txt | AC | 48 ms | 8792 KiB |
| 01_random_41.txt | AC | 530 ms | 44084 KiB |
| 01_random_42.txt | AC | 1 ms | 3476 KiB |
| 01_random_43.txt | AC | 1 ms | 3528 KiB |
| 01_random_44.txt | AC | 1 ms | 3640 KiB |
| 01_random_45.txt | AC | 1 ms | 3576 KiB |
| 01_random_46.txt | AC | 2 ms | 3632 KiB |
| 01_random_47.txt | AC | 15 ms | 5568 KiB |
| 01_random_48.txt | AC | 111 ms | 13692 KiB |
| 01_random_49.txt | AC | 233 ms | 24036 KiB |
| 01_random_50.txt | AC | 1 ms | 3564 KiB |
| 01_random_51.txt | AC | 1 ms | 3436 KiB |
| 01_random_52.txt | AC | 1 ms | 3468 KiB |
| 01_random_53.txt | AC | 1 ms | 3532 KiB |
| 01_random_54.txt | AC | 1 ms | 3492 KiB |
| 01_random_55.txt | AC | 28 ms | 7056 KiB |
| 01_random_56.txt | AC | 4 ms | 4436 KiB |
| 01_random_57.txt | AC | 535 ms | 44016 KiB |
| 01_random_58.txt | AC | 1 ms | 3628 KiB |
| 01_random_59.txt | AC | 1 ms | 3512 KiB |
| 01_random_60.txt | AC | 1 ms | 3464 KiB |
| 01_random_61.txt | AC | 1 ms | 3548 KiB |
| 01_random_62.txt | AC | 1 ms | 3492 KiB |
| 01_random_63.txt | AC | 16 ms | 5684 KiB |
| 01_random_64.txt | AC | 526 ms | 44104 KiB |
| 01_random_65.txt | AC | 239 ms | 23968 KiB |
| 01_random_66.txt | AC | 1 ms | 3568 KiB |
| 01_random_67.txt | AC | 1 ms | 3452 KiB |
| 01_random_68.txt | AC | 1 ms | 3656 KiB |
| 01_random_69.txt | AC | 1 ms | 3516 KiB |
| 01_random_70.txt | AC | 1 ms | 3508 KiB |
| 01_random_71.txt | AC | 1 ms | 3604 KiB |
| 01_random_72.txt | AC | 234 ms | 23752 KiB |
| 01_random_73.txt | AC | 246 ms | 23748 KiB |
| 01_random_74.txt | AC | 1 ms | 3540 KiB |
| 01_random_75.txt | AC | 533 ms | 43948 KiB |