結果
| 問題 |
No.154 市バス
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-02-14 10:26:25 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 391 ms / 2,000 ms |
| コード長 | 1,286 bytes |
| コンパイル時間 | 3,225 ms |
| コンパイル使用メモリ | 77,412 KB |
| 実行使用メモリ | 47,740 KB |
| 最終ジャッジ日時 | 2024-10-13 08:02:09 |
| 合計ジャッジ時間 | 6,842 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 8 |
ソースコード
import java.util.Scanner;
public class Main_yukicoder154 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
for (int tcase = 0; tcase < t; tcase++) {
char[] s = sc.next().toCharArray();
int n = s.length;
boolean flag = true;
int r = 0;
int g = 0;
int w = 0;
// int dr = 0;
// int dg = 0;
// int dw = 0;
for (int i = n - 1; flag && i >= 0; i--) {
char c = s[i];
if (c == 'R') {
r++;
// dr++;
} else if (c == 'G') {
g++;
// dg++;
} else {
w++;
// dw++;
}
if (g > r) {
flag = false;
}
if (w > 0 && g == 0) {
flag = false;
}
if (w > 0 && g > 1) {
w = 0;
g--;
r--;
}
}
if (r != 1 || g != 1 || w == 0) {
flag = false;
}
// System.out.printf("%d %d %d\n", dr, dg, dw);
if (flag) {
System.out.println("possible");
} else {
System.out.println("impossible");
}
}
sc.close();
}
}