白駿Baekjoon 4447号善人悪人JAVA


https://www.acmicpc.net/problem/4447
質問する
ビキニ城は超能力を持つスーパーヒーローでいっぱいだ.スポンジの赤ちゃんとパトリックは与えられた文字列で良い人と悪い人を選ぶ.
スポンジの赤ちゃん:わあ、文字列から強い力が感じられます!しかし、良い人なのか悪い人なのかは分からない.
パトリック:いいえ、簡単そうですね.名前の中で“g”の個数と“b”の個数を数えるだけでいいです「もっとあればいい人」「これ以上は悪党だ.「偉大な英雄の中の英雄『AlgorithmCreatingMan』を考えてみよう」gが2つありますが、bはありません.
スポンジの赤ちゃん:ああ、なるほど.では「Green Lantern」は良い人「Boba Fett」は悪い人ですか?
パトリック:わあ、答えは正しい!でも「BobaFett」って誰?
スポンジの赤ちゃん:もういい、「スーパーマン」はどうですか.
パトリック:...あの方は「g」と「b」が同じで中立です
スポンジの赤ちゃん:あ~gもbも同じですね.やっぱり君は天才だ!今度の「バットマン」はどうですか?いいと思います.
パトリック:暗い騎士を見たことがないでしょう.
スポンジの赤ちゃん:ああ、わかりました.では、「緑の王女」は?彼は恐ろしい悪党だ.
パトリック:それは「緑の公共」に関する例です.彼は過去の苦痛に見舞われている.人は、心次第だ.言わなくてもわかるでしょう.
スポンジの赤ちゃんパトリック...君は少しすごいようだ.でもちょっと待って、カニバーガーの作り方を盗む「プランクトン」は中立だと言いたいのではないでしょうか.
パトリック:どうせ成功したことがない.
スポンジの赤ちゃん:ええ、確かにそうです.見れば見るほど善良で、実はただ友达が必要です.中立だな
パトリック:いいですね.今、名前を一つ一つ見てみましょうか.
スポンジの赤ちゃん:もしもし、パトリック、私たちはうんざりしています.一日中これを数えて座っていますか.△目の色を見る.
パトリック:(...あ!)私たちの話をずっと盗聴している人にやってみましょう.用事が終わったらカニバーガーを買ってあげます.
スポンジベビー:やっぱりパトリック!私たちの友情は変わらないでください!
スポンジの赤ちゃんとパトリックを助けて、英雄たちが良いか悪いかを見てみましょう.
入力
第1行は、試験例n(n>0)を示す.
次の行から、名前はn個にまたがり、少なくとも1文字、25文字を超えない.
名前は大文字小文字とスペースのみを与えます.スペースは、複数の単語を区切るための名前です.
しゅつりょく
各行は「is」を出力し、英雄の名前とスペースを隔てている.
そして、名前の「g」と「b」の個数に応じて、「GOOD」、「ABADDY」、「NEUTRAL」で適切な出力を選択する.
入力例1
8
Algorithm Crunching Man
Green Lantern
Boba Fett
Superman
Batman
Green Goblin
Barney
Spider Pig
サンプル出力1
Algorithm Crunching Man is GOOD
Green Lantern is GOOD
Boba Fett is A BADDY
Superman is NEUTRAL
Batman is A BADDY
Green Goblin is GOOD
Barney is A BADDY
Spider Pig is GOOD
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		int N = Integer.parseInt(scan.nextLine());
		for (int i = 0; i < N; i++) {
			String str = scan.nextLine();
			int g = 0;
			int b = 0;
			String dummy = str.replace(" ", "").toLowerCase();
			for (int j = 0; j < dummy.length(); j++) {
				if (dummy.charAt(j) == 'g')
					++g;
				else if (dummy.charAt(j) == 'b')
					++b;
			}
			String ret = " is ";
			if (g > b)
				ret += "GOOD";
			else if (g < b)
				ret += "A BADDY";
			else
				ret += "NEUTRAL";

			System.out.println(str + ret);
		}

		scan.close();
	}
}
  • 説明