結果
| 問題 |
No.488 四角関係
|
| コンテスト | |
| ユーザー |
tsuchinaga
|
| 提出日時 | 2019-04-23 08:25:57 |
| 言語 | Go (1.23.4) |
| 結果 |
AC
|
| 実行時間 | 163 ms / 5,000 ms |
| コード長 | 1,369 bytes |
| コンパイル時間 | 15,579 ms |
| コンパイル使用メモリ | 222,036 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-10-12 22:53:22 |
| 合計ジャッジ時間 | 17,034 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 22 |
ソースコード
package main
import (
"bufio"
"fmt"
"os"
"strconv"
)
func main() {
var n, m int
_, _ = fmt.Scan(&n, &m)
sc := bufio.NewScanner(os.Stdin)
sc.Split(bufio.ScanWords)
paths := make([][]int, n)
for i := 0; i < m; i++ {
sc.Scan()
a, _ := strconv.Atoi(sc.Text())
sc.Scan()
b, _ := strconv.Atoi(sc.Text())
paths[a] = append(paths[a], b)
paths[b] = append(paths[b], a)
}
// fmt.Println(paths)
ans := 0
for start := 0; start < n; start++ {
// fmt.Println(start)
for _, n1 := range paths[start] {
// fmt.Println(start, n1)
for _, n2 := range paths[n1] {
// fmt.Println(start, n1, n2)
if start == n2 {
continue
}
no2 := false
cnt2 := 0
for _, n3 := range paths[n2] {
// fmt.Println(start, n1, n2, n3)
if n1 == n3 {
continue
}
if start == n3 {
no2 = true
break
}
no3 := false
cnt3 := 0
for _, end := range paths[n3] {
// fmt.Println(start, n1, n2, n3, end)
if end == n2 {
continue
}
if end == n1 {
no3 = true
break
}
if start == end {
// fmt.Println("add cnt3")
cnt3++
}
}
if !no3 {
// fmt.Println("add cnt2")
cnt2 += cnt3
}
}
if !no2 {
// fmt.Println("add ans")
ans += cnt2
}
}
}
}
fmt.Println(ans / 8)
}
tsuchinaga