nomura2020_bの解説
2020/05/30 14:05
nomura2020_bに参加してきましたが、微妙な問題にはまってしまって脱力中です。
最初問題文読んだときに、全部 D に置き換えれば終わりでは?と思ったのですが、さすがに違うパターンがあるかと色々試した結果、そうでした・・
あまりにもポスドクが可愛そうなので、ポスドクをある程度増やして AC 取れるコードです。
#include <bits/stdc++.h>
using namespace std;
#define REPLACE(_str, _ptn, _replacement) regex_replace(_str, regex(_ptn), _replacement)
string s;
int main() {
cin >> s;
s = REPLACE(s, "P\\?", "PD");
s = REPLACE(s, "\\?D", "PD");
s = REPLACE(s, "\\?\\?", "PD");
s = REPLACE(s, "\\?", "D");
cout << s;
return 0;
}