結果
| 問題 |
No.1147 土偶Ⅱ
|
| ユーザー |
titia
|
| 提出日時 | 2023-10-19 01:02:56 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 246 ms / 500 ms |
| コード長 | 862 bytes |
| コンパイル時間 | 112 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 11,136 KB |
| 最終ジャッジ日時 | 2024-09-18 20:58:39 |
| 合計ジャッジ時間 | 2,815 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 20 |
ソースコード
n,m=map(int,input().split())
F=[[] for i in range(n)]
for i in range(m):
a,b=map(int,input().split())
a-=1
b-=1
F[a].append(b)
F[b].append(a)
ANS=n*(n-1)*(n-2)//6
Distance=[[float("inf") for i in range(n)] for j in range(n)]
for i in range(n):
Distance[i][i]=0
for to in F[i]:
Distance[i][to]=1
for k in range(n): # k個までの町を使ってのDisが知れているときに
for i in range(n): # 町iと
for j in range(i,n): # 町jとの最短距離は、
length=Distance[i][k]+Distance[j][k]
if Distance[i][j]>length:
Distance[i][j]=Distance[j][i]=length
for i in range(n):
for j in range(i+1,n):
for k in range(j+1,n):
if Distance[i][j]==2 or Distance[i][k]==2 or Distance[j][k]==2:
ANS-=1
print(ANS)
titia