Submission #1675224


Source Code Expand

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)
//============================================================
var sc = bufio.NewScanner(os.Stdin)

func setScSplit() { sc.Split(bufio.ScanWords) }

func readStr() string {
	sc.Scan()

	return sc.Text()
}

func readInt() int {
	i, _ := strconv.Atoi(readStr())

	return i
}

func readFloat() float64 {
	f, _ := strconv.ParseFloat(readStr(), 64)

	return f
}
//=============================================================
var N, M int
var G[11] map[int]struct{}
var memo[11][11] bool

func setGraph() {
	for i, _ := range G { G[i] = map[int]struct{}{} }

	for i := 0; i < M; i++ {
		A := readInt(); B := readInt()
		G[A][B] = struct{}{}
		G[B][A] = struct{}{}
	}
}

func resetMemo (){
	for i, _ := range memo{
		for j, _ := range memo[i] {
			memo[i][j] = false
		}
	}
}

func dfs (v, c, i int) int {
	if c == 2 {
		if memo[v][c] { return 0
		} else { memo[v][c] = true }

		_, ok := G[v][i]
		if ok || v == i { return 0
		} else { return 1}
	}

	if memo[v][c] { return 0
	} else { memo[v][c] = true }

	ret := 0

	for k, _ := range G[v] {
		ret += dfs(k, c + 1, i)
	}

	return ret
}

func main() {
	setScSplit()

	N = readInt(); M = readInt()
	setGraph()


	for i := 1; i <= N; i++ {
		resetMemo()
		fmt.Println(dfs(i, 0, i))
	}
}

Submission Info

Submission Time
Task C - 友達の友達
User Aogiri_m2d
Language Go (1.6)
Score 100
Code Size 1374 Byte
Status AC
Exec Time 1 ms
Memory 640 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 32
Set Name Test Cases
All 00_sample_00.txt, 00_sample_01.txt, 10_rand_00.txt, 10_rand_01.txt, 10_rand_02.txt, 10_rand_03.txt, 10_rand_04.txt, 10_rand_05.txt, 10_rand_06.txt, 10_rand_07.txt, 10_rand_08.txt, 10_rand_09.txt, 10_rand_10.txt, 10_rand_11.txt, 10_rand_12.txt, 10_rand_13.txt, 10_rand_14.txt, 10_rand_15.txt, 10_rand_16.txt, 10_rand_17.txt, 10_rand_18.txt, 10_rand_19.txt, 10_rand_20.txt, 10_rand_21.txt, 10_rand_22.txt, 10_rand_23.txt, 10_rand_24.txt, 10_rand_25.txt, 10_rand_26.txt, 10_rand_27.txt, 10_rand_28.txt, 10_rand_29.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 640 KB
00_sample_01.txt AC 1 ms 640 KB
10_rand_00.txt AC 1 ms 640 KB
10_rand_01.txt AC 1 ms 640 KB
10_rand_02.txt AC 1 ms 640 KB
10_rand_03.txt AC 1 ms 640 KB
10_rand_04.txt AC 1 ms 640 KB
10_rand_05.txt AC 1 ms 640 KB
10_rand_06.txt AC 1 ms 640 KB
10_rand_07.txt AC 1 ms 640 KB
10_rand_08.txt AC 1 ms 640 KB
10_rand_09.txt AC 1 ms 640 KB
10_rand_10.txt AC 1 ms 640 KB
10_rand_11.txt AC 1 ms 640 KB
10_rand_12.txt AC 1 ms 640 KB
10_rand_13.txt AC 1 ms 640 KB
10_rand_14.txt AC 1 ms 640 KB
10_rand_15.txt AC 1 ms 640 KB
10_rand_16.txt AC 1 ms 640 KB
10_rand_17.txt AC 1 ms 640 KB
10_rand_18.txt AC 1 ms 640 KB
10_rand_19.txt AC 1 ms 640 KB
10_rand_20.txt AC 1 ms 640 KB
10_rand_21.txt AC 1 ms 640 KB
10_rand_22.txt AC 1 ms 640 KB
10_rand_23.txt AC 1 ms 640 KB
10_rand_24.txt AC 1 ms 640 KB
10_rand_25.txt AC 1 ms 640 KB
10_rand_26.txt AC 1 ms 640 KB
10_rand_27.txt AC 1 ms 640 KB
10_rand_28.txt AC 1 ms 640 KB
10_rand_29.txt AC 1 ms 640 KB