結果
問題 |
No.1147 土偶Ⅱ
|
ユーザー |
|
提出日時 | 2020-08-05 19:50:04 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 103 ms / 500 ms |
コード長 | 1,274 bytes |
コンパイル時間 | 2,207 ms |
コンパイル使用メモリ | 77,488 KB |
実行使用メモリ | 51,884 KB |
最終ジャッジ日時 | 2024-10-11 10:12:48 |
合計ジャッジ時間 | 4,781 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] line = br.readLine().split(" "); int n = Integer.parseInt(line[0]); int m = Integer.parseInt(line[1]); int x[][] = new int[n][n]; for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ x[i][j] = i==j ? 0 : 1<<29; } } while(m-- > 0){ line = br.readLine().split(" "); int a = Integer.parseInt(line[0])-1; int b = Integer.parseInt(line[1])-1; x[a][b] = x[b][a] = 1; } for(int k = 0; k < n; k++){ for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ x[i][j] = Math.min(x[i][j], x[i][k]+x[k][j]); } } } int ans = 0; for(int i = 0; i < n; i++){ for(int j = i+1; j < n; j++){ if(x[i][j] == 2) continue; for(int k = j+1; k < n; k++){ if(x[i][k] != 2 && x[j][k] != 2) ans++; } } } System.out.println(ans); } }