結果

問題 No.2226 Hello, Forgotten World!
ユーザー SarievoSarievo
提出日時 2023-02-24 22:14:11
言語 cLay
(20240714-1)
結果
WA  
実行時間 -
コード長 986 bytes
コンパイル時間 2,866 ms
コンパイル使用メモリ 177,804 KB
実行使用メモリ 7,620 KB
最終ジャッジ日時 2024-09-13 05:36:46
合計ジャッジ時間 3,382 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,816 KB
testcase_01 WA -
testcase_02 WA -
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

const string cmp = "helloworld";
const ll sz_t = cmp.size();

bool contains(string&s, ll x){
  ll n = s.size();
  assert(x + sz_t - 1 <= n);
  rep(i, x, x + sz_t) {
    if (s[i] != cmp[i - x]) {
      return false;
    }
  }
  return true;
}

void fill(string&s) {
  for(auto&&x:s) if (x == '?') x = 'a';
}

bool implies(string&s, ll x){
  ll n = s.size();
  assert((x + sz_t - 1) <= n);
  rep(i, x, x + sz_t) {
    if (s[i] != cmp[i - x]) {
      if (s[i] != '?') return false;
    }
  }
  rep(i, x, x + sz_t) {
    if (s[i] == '?') s[i] = cmp[i - x];
  }
  return true;
}

{
  REP(rd_int()){
    ll @n;
    string @s;

    bool done = false;
    rep(i, n - sz_t + 1) {
      if (contains(s, i)) {
        fill(s);
        wt(s);
        done = true;
        break;
      }
    }
    if (done) continue;


    rrep(i, n - sz_t + 1) {
      if (implies(s, i)) {
        fill(s);
        wt(s);
        done = true;
        break;
      }
    }

    if (done) continue;
    wt(-1);
  }
}
0