結果
問題 | No.2226 Hello, Forgotten World! |
ユーザー |
![]() |
提出日時 | 2023-02-24 21:40:45 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 11 ms / 2,000 ms |
コード長 | 2,387 bytes |
コンパイル時間 | 1,940 ms |
コンパイル使用メモリ | 205,076 KB |
最終ジャッジ日時 | 2025-02-10 20:41:57 |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
#include<bits/stdc++.h>using namespace std;#define ll long long#define ull unsigned long long#define db double#define pii pair<int,int>#define pll pair<ll,ll>#define ti3 tuple<int,int,int>#define int128 __int128_t#define pii128 pair<int128,int128>const int inf = 1 << 30;const ll linf = 1e18;const ll mod = 1e9 + 7;const db EPS = 1e-10;const db pi = acos(-1);template<class T> bool chmin(T& x, T y){if(x > y) {x = y;return true;} else return false;}template<class T> bool chmax(T& x, T y){if(x < y) {x = y;return true;} else return false;}// overload macro#define CAT( A, B ) A ## B#define SELECT( NAME, NUM ) CAT( NAME, NUM )#define GET_COUNT( _1, _2, _3, _4, _5, _6 /* ad nauseam */, COUNT, ... ) COUNT#define VA_SIZE( ... ) GET_COUNT( __VA_ARGS__, 6, 5, 4, 3, 2, 1 )#define VA_SELECT( NAME, ... ) SELECT( NAME, VA_SIZE(__VA_ARGS__) )(__VA_ARGS__)// rep(overload)#define rep( ... ) VA_SELECT(rep, __VA_ARGS__)#define rep2(i, n) for (decay_t<decltype(n)> i = 0; i < n; i++)#define rep3(i, a, b) for (decay_t<decltype(a)> i = a; i < b; i++)#define rep4(i, a, b, c) for (decay_t<decltype(a)> i = a; i < b; i += c)// rrep(overload)#define rrep( ... ) VA_SELECT(rrep, __VA_ARGS__)#define rrep2(i, n) for (decay_t<decltype(n)> i = n - 1; i >= 0; i--)#define rrep3(i, a, b) for (decay_t<decltype(a)> i = b - 1; i >= a; i--)#define rrep4(i, a, b, c) for (decay_t<decltype(a)> i = b - 1; i >= a; i -= c)// for_earh#define fore(e, v) for (auto&& e : v)// vector#define all(v) v.begin(), v.end()#define rall(v) v.rbegin(), v.rend()string hw = "helloworld";void solve() {int N;string S;cin >> N >> S;vector<string> v;rrep (i, N - (int)hw.size() + 1) {bool ok = true;rep (j, hw.size()) {ok &= (S[i + j] == '?' || S[i + j] == hw[j]);}if (ok) {string T = S.substr(0, i);T += hw;T += S.substr(i + hw.size());rep (i, N) {if (T[i] == '?') T[i] = 'a';}v.push_back(T);}}sort(all(v));cout << (v.empty() ? "-1" : v[0]) << "\n";}int main() {cin.tie(nullptr);ios_base::sync_with_stdio(false);cout << fixed << setprecision(20);int t;cin >> t;while (t--) solve();return 0;}