結果
問題 | No.2267 群の公理 |
ユーザー |
|
提出日時 | 2023-04-14 22:04:12 |
言語 | D (dmd 2.109.1) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 858 bytes |
コンパイル時間 | 906 ms |
コンパイル使用メモリ | 96,908 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-22 17:45:09 |
合計ジャッジ時間 | 2,089 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 50 |
ソースコード
import std.stdio; import std.string; import std.conv; void main(){ int n = readln.chomp.to!int; int[][] m; foreach(_; 0 .. n){ m ~= readln.split.to!(int[]); } writeln(c(m) && e(m) ? "Yes" : "No"); } bool c(int[][] m){ bool r = true; foreach(n0; 0 .. m.length){ foreach(n1; 0 .. m.length){ foreach(n2; 0 .. m.length){ r = r && (m[m[n0][n1]][n2] == m[n0][m[n1][n2]]); } } } return r; } bool e(int[][] m){ foreach(x; 0 .. m.length){ bool r = true; foreach(n; 0 .. m.length){ r = r && (m[n][x] == n && m[x][n] == n); } if(!r) continue; foreach(n; 0 .. m.length){ r = false; foreach(i; 0 .. m.length){ if(m[n][i] == x && m[i][n] == x){ r = true; break; } } if(!r) break; } if(r) return true; } return false; }