Submission #556751


Source Code Expand

package main
import (
	"fmt"
	"io"
	"bufio"
	"os"
	"strconv"
)

func main() {
	r := nextInt()
	c := nextInt()
	k := nextInt()
	n := nextInt()

	rn := make([]int, r)
	cn := make([]int, c)

	ame := make([][]int, n)


	for i := 0 ; i < n ; i++ {
		ri := nextInt()-1
		ci := nextInt()-1
		ame[i] = []int{ri, ci}
		rn[ri]++
		cn[ci]++
	}

	cdeg := make([]int, n+1)
	for i := 0 ; i < c ; i++ {
		cdeg[cn[i]]++
	}

	ans := 0
	for i := 0 ; i < r ; i++ {
		need := k - rn[i]
		if need >= 0 {
			ans += cdeg[need]
		}
	}

	for i := 0 ; i < n ; i++ {
		ri := ame[i][0]
		ci := ame[i][1]
		if rn[ri] + cn[ci] == k {
			ans--
		} else if rn[ri] + cn[ci] == k+1 {
			ans++
		}
	}

	fmt.Println(ans)
}

// ------------------


var rdr = bufio.NewReader(os.Stdin)

func nextInt() int {
	i, e := strconv.Atoi(readToken(20))
	if e != nil {
		panic(e)
	}
	return i
}

func nextString(limit int) string {
	return readToken(limit)
}

func readToken(limit int) string {
	buf := make([]byte, 0, limit)

	for {
		byte, err := rdr.ReadByte()
		if err != nil {
			if err == io.EOF {
				break
			}
		}
		if byte != 10 && byte != 13 && byte != 32 {
			buf = append(buf, byte)
			break
		}
	}
	for {
		byte, err := rdr.ReadByte()
		if err != nil {
			if err == io.EOF {
				break
			}
		}
		if byte == 10 || byte == 13 || byte == 32 {
			break
		}
		buf = append(buf, byte)
	}
	return string(buf)
}

Submission Info

Submission Time
Task C - 収集王
User hamadu
Language Go (1.4.1)
Score 100
Code Size 1472 Byte
Status AC
Exec Time 157 ms
Memory 10920 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 3
AC × 18
AC × 33
Set Name Test Cases
Sample subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt
Subtask1 subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt
Subtask2 subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt
Case Name Status Exec Time Memory
subtask0-sample01.txt AC 26 ms 928 KB
subtask0-sample02.txt AC 26 ms 936 KB
subtask0-sample03.txt AC 27 ms 964 KB
subtask1-01.txt AC 27 ms 1044 KB
subtask1-02.txt AC 26 ms 1184 KB
subtask1-03.txt AC 26 ms 1072 KB
subtask1-04.txt AC 26 ms 1068 KB
subtask1-05.txt AC 26 ms 1068 KB
subtask1-06.txt AC 27 ms 1064 KB
subtask1-07.txt AC 26 ms 1108 KB
subtask1-08.txt AC 29 ms 1132 KB
subtask1-09.txt AC 27 ms 1064 KB
subtask1-10.txt AC 28 ms 1128 KB
subtask1-11.txt AC 26 ms 1188 KB
subtask1-12.txt AC 26 ms 1052 KB
subtask1-13.txt AC 30 ms 1056 KB
subtask1-14.txt AC 27 ms 1056 KB
subtask1-15.txt AC 25 ms 1060 KB
subtask2-01.txt AC 28 ms 1192 KB
subtask2-02.txt AC 30 ms 1312 KB
subtask2-03.txt AC 58 ms 3108 KB
subtask2-04.txt AC 128 ms 8876 KB
subtask2-05.txt AC 141 ms 8996 KB
subtask2-06.txt AC 154 ms 10920 KB
subtask2-07.txt AC 128 ms 7976 KB
subtask2-08.txt AC 151 ms 10920 KB
subtask2-09.txt AC 153 ms 10788 KB
subtask2-10.txt AC 154 ms 10800 KB
subtask2-11.txt AC 155 ms 10800 KB
subtask2-12.txt AC 156 ms 10916 KB
subtask2-13.txt AC 155 ms 10912 KB
subtask2-14.txt AC 157 ms 10796 KB
subtask2-15.txt AC 156 ms 10916 KB