提出 #18780911


ソースコード 拡げる

package main

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

var r = bufio.NewReader(os.Stdin)

var N, M int
var MAT [][]rune

func main() {
	N, M = ni(), ni()
	MAT = make([][]rune, N)
	for i := range MAT {
		MAT[i] = make([]rune, N)
		for j := range MAT[i] {
			MAT[i][j] = 'N'
		}
	}
	solve()
}

func solve() {
	for i := 0; i < M; i++ {
		a := ni()
		b := ni() - 1
		switch a {
		case 1:
			c := ni() - 1
			follow(b, c)
		case 2:
			followBackAll(b)
		case 3:
			followFollow(b)
		}
	}

	for i := range MAT {
		fmt.Println(string(MAT[i]))
	}

}

func follow(a, b int) {
	MAT[a][b] = 'Y'
	// log.Printf("%d followed %d", a+1, b+1)
}

func followBackAll(a int) {
	for _, b := range getFollower(a) {
		follow(a, b)
	}
}

func followFollow(a int) {
	for _, e1 := range getFollows(a) {
		for _, e2 := range getFollows(e1) {
			if e2 == a {
				continue
			}
			follow(a, e2)
		}
	}

}

// nをフォローしている人のidxを返す
func getFollower(n int) (ret []int) {
	for i := 0; i < N; i++ {
		if MAT[i][n] == 'Y' {
			ret = append(ret, i)
		}
	}
	return
}

// nがフォローしている人のidxを返す
func getFollows(n int) (ret []int) {
	for i := 0; i < N; i++ {
		if MAT[n][i] == 'Y' {
			ret = append(ret, i)
		}
	}
	return
}

func ni() int { var n int; fmt.Fscan(r, &n); return n }

提出情報

提出日時
問題 E - SNS のログ
ユーザ soye
言語 Go (1.14.1)
得点 7
コード長 1376 Byte
結果 AC
実行時間 9 ms
メモリ 3192 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 7 / 7
結果
AC × 1
AC × 28
セット名 テストケース
Sample example_01.txt
All example_01.txt, subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_01_18.txt, subtask_01_19.txt, subtask_01_20.txt, subtask_01_21.txt, subtask_01_22.txt, subtask_01_23.txt, subtask_01_24.txt, subtask_01_25.txt, subtask_01_26.txt, subtask_01_27.txt
ケース名 結果 実行時間 メモリ
example_01.txt AC 9 ms 1824 KiB
subtask_01_01.txt AC 2 ms 1824 KiB
subtask_01_02.txt AC 2 ms 1832 KiB
subtask_01_03.txt AC 2 ms 1880 KiB
subtask_01_04.txt AC 4 ms 2000 KiB
subtask_01_05.txt AC 3 ms 1896 KiB
subtask_01_06.txt AC 3 ms 1892 KiB
subtask_01_07.txt AC 5 ms 2364 KiB
subtask_01_08.txt AC 2 ms 1896 KiB
subtask_01_09.txt AC 2 ms 1820 KiB
subtask_01_10.txt AC 6 ms 1880 KiB
subtask_01_11.txt AC 2 ms 1820 KiB
subtask_01_12.txt AC 2 ms 1900 KiB
subtask_01_13.txt AC 3 ms 1872 KiB
subtask_01_14.txt AC 2 ms 1884 KiB
subtask_01_15.txt AC 2 ms 1856 KiB
subtask_01_16.txt AC 3 ms 1904 KiB
subtask_01_17.txt AC 2 ms 1880 KiB
subtask_01_18.txt AC 3 ms 1892 KiB
subtask_01_19.txt AC 2 ms 2016 KiB
subtask_01_20.txt AC 3 ms 1900 KiB
subtask_01_21.txt AC 3 ms 2444 KiB
subtask_01_22.txt AC 4 ms 1904 KiB
subtask_01_23.txt AC 3 ms 2580 KiB
subtask_01_24.txt AC 6 ms 1916 KiB
subtask_01_25.txt AC 5 ms 3192 KiB
subtask_01_26.txt AC 4 ms 1964 KiB
subtask_01_27.txt AC 4 ms 2224 KiB