結果
問題 | No.2226 Hello, Forgotten World! |
ユーザー |
|
提出日時 | 2023-02-25 01:07:42 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 1,031 ms / 2,000 ms |
コード長 | 1,776 bytes |
コンパイル時間 | 10,069 ms |
コンパイル使用メモリ | 385,940 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-13 06:35:59 |
合計ジャッジ時間 | 15,139 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
#include <bits/stdc++.h>#include <atcoder/all>#define rep(i, n) for (int i = 0; i < (int)(n); i++)#define rrep(i, n, m) for (int i = (int)(n); i > (int)(m); i--)#define rep1(i, n, m) for (int i = (int)(n); i < (int)(m); i++)#define all(x) (x).begin(), (x).end()#define rall(x) (x).rbegin(), (x).rend() using namespace atcoder;using ll = long long;const ll MOD1 = 1000000007LL;const ll MOD2 = 998244353LL;using namespace std;using namespace atcoder;const vector<pair<int, int>> dpos4 = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}};// const vector<pair<int, int>> dpos8 = {{-1, -1}, {-1, 0}, {-1, 1}, {0, -1}, {0, 1}, {1, -1}, {1, 0}, {1, 1}};template <typename T>bool chmax(T &a, const T &b) {if (a < b) {a = b; // aをbで更新return true;}return false;}template <typename T>bool chmin(T &a, const T &b) {if (a > b) {a = b; // aをbで更新return true;}return false;}template<typename T>T pow(T a, ll b){if(b == 0) return 1;if(b % 2 == 0) return pow(a / 2, b / 2);return a * pow(a, b - 1);}int main() {int T; cin >> T;string base = "helloworld";int M = base.size();while(T--){int N; cin >> N;string S; cin >> S;string ans = "zzzzzzzzzzzzzzzzzzzzzzzzzzzzz";rep(i, N){if(i + M - 1 >= N) break;bool ok = true;string SS = S;rep(j, M){if(S[i + j] != '?' && S[i + j] != base[j]) ok = false;SS[i + j] = base[j];}SS = regex_replace(SS, regex("\\?"), "a");if(ok) chmin(ans, SS);}if (ans == "zzzzzzzzzzzzzzzzzzzzzzzzzzzzz") ans = "-1";cout << ans << '\n';}return 0;}