ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป ๋ฌธ์ œ

 

2422๋ฒˆ: ํ•œ์œค์ •์ด ์ดํƒˆ๋ฆฌ์•„์— ๊ฐ€์„œ ์•„์ด์Šคํฌ๋ฆผ์„ ์‚ฌ๋จน๋Š”๋ฐ

์ฒซ์งธ ์ค„์— ์ •์ˆ˜ N๊ณผ M์ด ์ฃผ์–ด์ง„๋‹ค. N์€ ์•„์ด์Šคํฌ๋ฆผ ์ข…๋ฅ˜์˜ ์ˆ˜์ด๊ณ , M์€ ์„ž์–ด๋จน์œผ๋ฉด ์•ˆ ๋˜๋Š” ์กฐํ•ฉ์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ์•„๋ž˜ M๊ฐœ์˜ ์ค„์—๋Š” ์„ž์–ด๋จน์œผ๋ฉด ์•ˆ ๋˜๋Š” ์กฐํ•ฉ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ™์€ ์กฐํ•ฉ์€ ๋‘ ๋ฒˆ

www.acmicpc.net


โœ๐Ÿป ํ’€์ด

๐ŸŽจ Go

// https://www.acmicpc.net/problem/2422
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	reader := bufio.NewReader(os.Stdin)
	writer := bufio.NewWriter(os.Stdout)
	defer writer.Flush()

	var n, m int
	fmt.Fscanln(reader, &n, &m)
	var badCombination = make([][]bool, n)
	for i := 0; i < n; i++ {
		badCombination[i] = make([]bool, n)
	}

	for i := 0; i < m; i++ {
		var iceOne, iceTwo int
		fmt.Fscanln(reader, &iceOne, &iceTwo)
		badCombination[iceOne-1][iceTwo-1] = true
		badCombination[iceTwo-1][iceOne-1] = true
	}

	fmt.Fprintln(writer, getCountOfGoodCombination(badCombination))
}

func getCountOfGoodCombination(badCombination [][]bool) (count int) {
	for i := 0; i < len(badCombination)-2; i++ {
		for j := i + 1; j < len(badCombination)-1; j++ {
			if badCombination[i][j] {
				continue
			}
			for k := j + 1; k < len(badCombination); k++ {
				if badCombination[i][k] || badCombination[j][k] {
					continue
				}
				count++
			}
		}
	}
	return
}

๐ŸŽจ Python3

# https://www.acmicpc.net/problem/2422
import sys

def get_count_of_good_combination(bad_combination):
    count = 0
    for i in range(len(bad_combination)-2):
        for j in range(i+1, len(bad_combination)-1):
            if bad_combination[i][j]:
                continue
            for k in range(j+1, len(bad_combination)):
                if bad_combination[i][k] or bad_combination[j][k]:
                    continue
                count += 1
    return count

if __name__ == "__main__":
    n, m = list(map(int, sys.stdin.readline().split()))
    bad_combination = [[False for j in range(n)] for i in range(n)]

    for i in range(m):
        ice_one, ice_two = list(map(int, sys.stdin.readline().split()))
        bad_combination[ice_one-1][ice_two-1] = True
        bad_combination[ice_two-1][ice_one-1] = True

    print(get_count_of_good_combination(bad_combination))
728x90
๋Œ“๊ธ€