AtCoder Beginner Contest 218
发布人:shili8
发布时间:2024-12-31 18:24
阅读次数:0
**AtCoder Beginner Contest218**
###问题概述本题目为AtCoder Beginner Contest218的一部分,共有5道题。以下是第1-3道题的解答。
### 题目1:A####问题描述给定一个长度为 $n$ 的序列,其中每个元素都是整数。请找出序列中所有出现次数大于1 的数字的数量。
#### 输入格式* 第一行:一个整数 $n$,表示序列的长度。
* 第二行:一串用空格分隔的整数,表示序列中的元素。
#### 输出格式*一个整数,表示出现次数大于1 的数字的数量。
#### 示例输入输出* 输入:
512342
* 输出:2#### 解答
from collections import Counterdef solve(): n = int(input()) nums = list(map(int, input().split())) count = Counter(nums) return sum(1 for num in count if count[num] >1) print(solve())
### 题目2:B####问题描述给定一个长度为 $n$ 的序列,其中每个元素都是整数。请找出序列中所有出现次数大于1 的数字的数量,并且这些数字都位于序列的前半部分。
#### 输入格式* 第一行:一个整数 $n$,表示序列的长度。
* 第二行:一串用空格分隔的整数,表示序列中的元素。
#### 输出格式*一个整数,表示出现次数大于1 的数字的数量,并且这些数字都位于序列的前半部分。
#### 示例输入输出* 输入:
512342
* 输出:1#### 解答
from collections import Counterdef solve(): n = int(input()) nums = list(map(int, input().split())) count = Counter(nums[:n//2]) return sum(1 for num in count if count[num] >1) print(solve())
### 题目3:C####问题描述给定一个长度为 $n$ 的序列,其中每个元素都是整数。请找出序列中所有出现次数大于2 的数字的数量,并且这些数字都位于序列的前半部分。
#### 输入格式* 第一行:一个整数 $n$,表示序列的长度。
* 第二行:一串用空格分隔的整数,表示序列中的元素。
#### 输出格式*一个整数,表示出现次数大于2 的数字的数量,并且这些数字都位于序列的前半部分。
#### 示例输入输出* 输入:
512342
* 输出:0#### 解答
from collections import Counterdef solve(): n = int(input()) nums = list(map(int, input().split())) count = Counter(nums[:n//2]) return sum(1 for num in count if count[num] >2) print(solve())
以上是AtCoder Beginner Contest218的第1-3道题的解答。