結果
問題 | No.2226 Hello, Forgotten World! |
ユーザー |
![]() |
提出日時 | 2023-02-28 10:44:41 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 220 ms / 2,000 ms |
コード長 | 2,666 bytes |
コンパイル時間 | 2,781 ms |
コンパイル使用メモリ | 95,544 KB |
実行使用メモリ | 46,632 KB |
最終ジャッジ日時 | 2024-09-15 13:15:10 |
合計ジャッジ時間 | 4,730 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
import java.io.*;import java.util.*;import java.util.stream.*;public class Main {public static void main(String[] args) throws Exception {Scanner sc = new Scanner();int t = sc.nextInt();char[] hellow = "helloworld".toCharArray();StringBuilder sb = new StringBuilder();while (t-- > 0) {int n = sc.nextInt();String s = sc.next();ArrayList<String> ans = new ArrayList<>();for (int i = 0; i <= n - hellow.length; i++) {boolean enable = true;for (int j = 0; j < hellow.length && enable; j++) {enable = (s.charAt(i + j) == hellow[j] || s.charAt(i + j) == '?');}if (!enable) {continue;}char[] target = s.toCharArray();for (int j = 0; j < 10; j++) {target[i + j] = hellow[j];}for (int j = 0; j < n; j++) {if (target[j] == '?') {target[j] = 'a';}}ans.add(new String(target));}Collections.sort(ans);if (ans.size() == 0) {sb.append("-1\n");} else {sb.append(ans.get(0)).append("\n");}}System.out.print(sb);}}class Utilities {static String arrayToLineString(Object[] arr) {return Arrays.stream(arr).map(x -> x.toString()).collect(Collectors.joining("\n"));}static String arrayToLineString(int[] arr) {return String.join("\n", Arrays.stream(arr).mapToObj(String::valueOf).toArray(String[]::new));}}class Scanner {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));StringTokenizer st = new StringTokenizer("");StringBuilder sb = new StringBuilder();public Scanner() throws Exception {}public int nextInt() throws Exception {return Integer.parseInt(next());}public long nextLong() throws Exception {return Long.parseLong(next());}public double nextDouble() throws Exception {return Double.parseDouble(next());}public int[] nextIntArray() throws Exception {return Stream.of(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();}public String next() throws Exception {while (!st.hasMoreTokens()) {st = new StringTokenizer(br.readLine());}return st.nextToken();}}