AcWing4118. 狗和猫
发布人:shili8
发布时间:2025-02-19 05:58
阅读次数:0
**狗和猫**
**题目描述**
在一个小镇上,住着很多只狗和猫。每只动物都有自己的名字、年龄和性别。现在,我们需要根据这些信息来计算出镇上的狗和猫的总数,以及各个年龄段的狗和猫的数量。
**输入格式**
第一行:两个整数n,m(表示小镇上有n只狗,m只猫)。
接下来n+m行,每行代表一个动物,包含三个整数:id(从1到n+m)、age(年龄)和sex(0表示是狗,1表示是猫)。
**输出格式**
第一行:两个整数,分别表示小镇上有多少只狗和猫。
接下来每个年龄段的狗和猫数量,按照年龄从小到大排序,每行一个数字。
**代码实现**
import sys#读取输入数据n, m = map(int, input().split()) data = [] for _ in range(n + m): id, age, sex = map(int, input().split()) data.append((id, age, sex)) # 将狗和猫分开存储dogs = [(id, age) for id, age, sex in data if sex ==0] cats = [(id, age) for id, age, sex in data if sex ==1] # 计算各个年龄段的狗和猫数量dog_counts = {} cat_counts = {} for id, age in dogs: dog_counts[age] = dog_counts.get(age,0) +1for id, age in cats: cat_counts[age] = cat_counts.get(age,0) +1# 输出结果print(len(dogs), len(cats)) for i in range(100): print(dog_counts.get(i,0), end=' ') sys.stdout.write(' ') for i in range(100): print(cat_counts.get(i,0), end=' ')
**注释**
* 我们首先读取输入数据,包括小镇上有多少只狗和猫,以及每个动物的信息。
* 然后,我们将狗和猫分开存储在两个列表中:`dogs` 和 `cats`。
* 接着,我们计算各个年龄段的狗和猫数量。我们使用字典来存储这些信息,键为年龄,值为对应年龄段的动物数量。
* 最后,我们输出结果。首先,我们打印小镇上有多少只狗和猫,然后按照年龄从小到大排序地输出各个年龄段的狗和猫数量。
**示例输入**
5311002200330044005500660077008800990010100011110012120013130014140015150016160017170018180019190020200021210022220023230024240025250026260027270028280029290030300031310032320033330034340035350036360037370038380039390040400041410042420043430044440045450046460047470048480049490050500051510052520053530054540055550056560057570058580059590060600061610062620063630064640065650066660067670068680069690070700071710072720073730074740075750076760077770078780079790080800081810082820083830084840085850086860087870088880089890090900091910092920093930094940095950096960097970098980099990010010001
**示例输出**
53000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000