NC243334. 走丢的小竹
描述
输入描述
第一行三个整数 。
第二行 个用空格隔开的整数,第 个整数为 ,表示编号为 的出口,连接着号房间。
接下来 行,每行 一个用空格隔开的整数。
输出描述
行, 每行一个整数,表示有多少个出口可以逃离。
示例1
输入:
5 2 2 1 2 2 1 2 1 2
输出:
3 2
说明:
劫匪在 号房间, 个连接 号房间的出口可以逃出Go 解法, 执行用时: 271ms, 内存消耗: 8272K, 提交时间: 2023-08-12 22:50:29
package main import ( "bufio" "fmt" "os" "strconv" "strings" ) func main() { var m, n, q int fmt.Scan(&n, &m, &q) inp := bufio.NewReader(os.Stdin) str, _ := inp.ReadString('\n') strl := strings.Split(str[:len(str)-1], " ") mp := make([]int, m+1) for _, s := range strl { v, _ := strconv.Atoi(s) mp[v]++ } for i := 0; i < q; i++ { str, _ = inp.ReadString('\n') h,_:= strconv.Atoi(str[:len(str)-1]) fmt.Println(n - mp[h]) } }
Python3 解法, 执行用时: 1021ms, 内存消耗: 15844K, 提交时间: 2023-08-12 22:49:29
n, m, q = map(int, input().split()) l = [n for _ in range(m+1)] for i in map(int, input().split()): l[i]-=1 for _ in range(q): print(l[int(input())])
Java 解法, 执行用时: 1588ms, 内存消耗: 30756K, 提交时间: 2023-08-12 22:48:14
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int n = cin.nextInt(); int m = cin.nextInt(); int q = cin.nextInt(); int[] p = new int[100010]; for (int i=1;i<=n;i++) { int t = cin.nextInt(); p[t]++; } for (int i=1;i<=q;i++) { int t = cin.nextInt(); System.out.println(n-p[t]); } } }