結果
| 問題 | 
                            No.1941 CHECKER×CHECKER(1)
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2022-05-28 13:23:00 | 
| 言語 | Java  (openjdk 23)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 119 ms / 2,000 ms | 
| コード長 | 1,375 bytes | 
| コンパイル時間 | 3,209 ms | 
| コンパイル使用メモリ | 77,884 KB | 
| 実行使用メモリ | 41,372 KB | 
| 最終ジャッジ日時 | 2024-09-20 21:44:52 | 
| 合計ジャッジ時間 | 5,457 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 12 | 
ソースコード
import java.util.*;
public class Main {
	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		char[][] S = new char[3][3];
		for(int i = 0; i < 3; i++) {
			String str = sc.next();
			for(int j = 0; j < 3; j++) {
				S[i][j] = str.charAt(j);
			}
		}
		//横一列が条件を満たすか確認する
		boolean flg = true;
		String ans;
		for(int i = 0; i < 3; i++) {
			//左端の文字を取り出す
			char moji = S[i][0];
			for(int j = 1; j < 3; j++) {
				//隣と同じ文字の場合ループを終了する
				if(moji == S[i][j]) {
					flg = false;
					break;
				}
				moji = S[i][j];
			}
			//隣で同じ文字が見つかった場合ループを終了する
			if(!flg) {
				break;
			}
		}
		if(flg) {
			//縦一列が条件を満たすか確認する
			for(int j = 0; j < 3; j++) {
				//上端の文字を取り出す
				char moji = S[0][j];
				for(int i = 1; i < 3; i++) {
					//隣と同じ文字の場合ループを終了する
					if(moji == S[i][j]) {
						flg = false;
						break;
					}
					moji = S[i][j];
				}
				//隣で同じ文字が見つかった場合ループを終了する
				if(!flg) {
					break;
				}
			}
			if(flg) {
				ans = "Yes";
			} else {
				ans = "No";
			}
		} else {
			ans = "No";
		}
		System.out.println(ans);
	}
}