bcoi系列目录直达

太好了是鱼,我们有救了!!!

哈哈为数不多有关于的题目了

以下是题目描述,也可点击此处直接跳转原题

==========================================

孤独的鱼

题目背景

666

江雪

唐代:柳宗元
千山鸟飞绝,万径人踪灭。
孤舟蓑笠翁,独钓寒江雪。

词句注释

绝:无,没有。
万径:虚指,指千万条路。
人踪:人的脚印。
孤:孤零零。
蓑笠:蓑衣和斗笠。蓑:古代用来防雨的衣服;笠:古代用来防雨的帽子,用竹篾编成。
独:独自。

译文

群山中的鸟儿飞得不见踪影,所有的道路都不见人的踪迹。
江面孤舟上一位披戴着蓑笠的老翁,独自在寒冷的江面上钓鱼。

题目描述

[唐顺宗]永贞元年(805年),柳宗元参加了刘禹锡、王叔文集团发动的永贞革新运动,推行内抑宦官、外制藩镇、维护国家统一的政治措施。但由于反动势力的联合反对,改革很快失败,柳宗元被贬为永州司马,流放十年,实际上过着被管制、软禁的“拘囚”生活。再加上这十年中,他的母亲去世,他的女儿夭折了,他的大姐二姐、大姐夫、二姐夫相继病逝。柳宗元在这样一种“千万孤独”的情境下写下《江雪》,我相信这个时候,他钓上来的鱼也一定是孤独的。请你帮孤独的柳宗元,数一数到底有几条鱼也是跟他一样是孤独的,然后他好放生它们。
每条鱼的种类用一个数字表示,所谓孤独的鱼,就是没有他的同类,如果有两条鱼的数字相同,那么它们属于同一种鱼,它们就是不孤独的。
柳宗元钓到的鱼的数量不超过1000条。

输入输出格式

输入

第一行一个整数n,表示有n条鱼.

第二行连续n个正整数,表示每条鱼的种类(鱼的种类最多不超过10000种)

Output

一个整数,表示孤独的鱼的条数

Samples

输入数据 1

10
5 3 5 1 2 5 2 6 9 7

输出数据 1

5

Limitation

1s, 1024KiB for each test case.

==================================

解题

这题要求是数出只有一个品种鱼总数(太可怜了呜呜呜┭┮﹏┭┮)

用桶排记录每一个品种鱼数量,最终找出答案。

以下是参考代码

#include <bits/stdc++.h>
using namespace std;
int n,a,c[10005],ans;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a;
		c[a]++;
		if(c[a]>1){
			ans++;
			if(c[a]==2)ans++;
		}
	}
	cout<<(n-ans);
	return 0;
}

代码解析

这是桶排过程,没什么好讲的

值得一提的就是判断孤独的鱼的方式,自行理解吧,不难

for(int i=1;i<=n;i++){//桶排
		cin>>a;
		c[a]++;
		if(c[a]>1){
			ans++;
			if(c[a]==2)ans++;
		}
	}

完工!!!