結果
| 問題 |
No.2267 群の公理
|
| コンテスト | |
| ユーザー |
ks2m
|
| 提出日時 | 2023-04-14 21:53:20 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 190 ms / 2,000 ms |
| コード長 | 1,180 bytes |
| コンパイル時間 | 2,749 ms |
| コンパイル使用メモリ | 77,172 KB |
| 実行使用メモリ | 43,252 KB |
| 最終ジャッジ日時 | 2024-10-10 12:38:58 |
| 合計ジャッジ時間 | 12,194 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 50 |
ソースコード
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] a = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
a[i][j] = sc.nextInt();
}
}
sc.close();
boolean flg1 = true;
label:
for (int m0 = 0; m0 < n; m0++) {
for (int m1 = 0; m1 < n; m1++) {
for (int m2 = 0; m2 < n; m2++) {
if (a[a[m0][m1]][m2] != a[m0][a[m1][m2]]) {
flg1 = false;
break label;
}
}
}
}
if (!flg1) {
System.out.println("No");
return;
}
for (int e = 0; e < n; e++) {
boolean flga = true;
for (int m = 0; m < n; m++) {
if (a[m][e] != a[e][m] || a[m][e] != m) {
flga = false;
break;
}
}
if (flga) {
for (int m = 0; m < n; m++) {
boolean flg = false;
for (int i = 0; i < n; i++) {
if (a[m][i] == a[i][m] && a[m][i] == e) {
flg = true;
break;
}
}
if (!flg) {
flga = false;
break;
}
}
if (flga) {
System.out.println("Yes");
return;
}
}
}
System.out.println("No");
}
}
ks2m