【2022寒假萌新训练-3】7-6 树种统计
随着卫星成像技术的应用,自然资源研究机构可以识别每一棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。
输入格式:输入首先给出正整数N(≤10^5),随后N行,每行给出卫星观测到的一棵树的种类名称。种类名称由不超过30个英文字母和空格组成(大小写不区分)。
输出格式:按字典序递增输出各种树的种类名称及其所占总数的百分比,其间以空格分隔,保留小数点后4位。
输入样例:12345678910111213141516171819202122232425262728293029Red AlderAshAspenBasswoodAshBeechYellow BirchAshCherryCottonwoodAshCypressRed ElmGumHackberryWhite OakHickoryPecanHard MapleWhite OakSoft MapleRed OakRed OakWhite OakPoplanSassafrasSycamoreBlack WalnutWillow
输出样例:12345678910111213141516171819202122 ...
【2022寒假萌新训练-3】7-5 点赞
微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。
输入格式:输入在第一行给出一个正整数N(≤1000),是该用户点赞的博文数量。随后N行,每行给出一篇被其点赞的博文的特性描述,格式为“K F1⋯FK”,其中1≤K≤10,Fi(i=1,⋯,K)是特性标签的编号,我们将所有特性标签从1到1000编号。数字间以空格分隔。
输出格式:统计所有被点赞的博文中最常出现的那个特性标签,在一行中输出它的编号和出现次数,数字间隔1个空格。如果有并列,则输出编号最大的那个。
输入样例:1234543 889 233 25 100 3 233 2 734 3 73 889 22 233 123
输出样例:1233 3
思路 和7-4 天梯赛的善良的一样,需要记录两个值,一个值为特征描述值,一个值为出现的次数,可以采用map存储。
最后输出出现次数最大的特征值中编号最大的,可以采用map反向遍历(从大的特征值开始遍历),max1记录特 ...
【2022寒假萌新训练-3】7-4 天梯赛的善良
天梯赛是个善良的比赛。善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分。
于是命题组首先将编程能力划分成了 10^6个等级(太疯狂了,这是假的),然后调查了每个参赛学生的编程能力。现在请你写个程序找出所有参赛学生的最小和最大能力值,给命题组作为出题的参考。
输入格式:输入在第一行中给出一个正整数 N(≤2×10^4),即参赛学生的总数。随后一行给出 N 个不超过 10^6 的正整数,是参赛学生的能力值。
输出格式:第一行输出所有参赛学生的最小能力值,以及具有这个能力值的学生人数。第二行输出所有参赛学生的最大能力值,以及具有这个能力值的学生人数。同行数字间以 1 个空格分隔,行首尾不得有多余空格。
输入样例:121086 75 233 888 666 75 886 888 75 666
输出样例:1275 3888 2
思路 根据题意,要找出最小和最大能力值已经相应的人数,要记录的是能力值和人数,可以采用map存储,利用map的自动排序,map的第一个元素就是最小能力值和人数,最后一个元素就是最大能 ...
【2022寒假萌新训练-3】7-3 素数对猜想
7-3 素数对猜想 (20 分)
让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N(<10^5),请计算不超过N的满足猜想的素数对的个数。
输入格式:输入在一行给出正整数N。
输出格式:在一行中输出不超过N的满足猜想的素数对的个数。
输入样例:120
输出样例:14
思路 套用判断素数的模板,然后遍历从2~n,判断的是数字i和数字i + 2是否同时为素数即可,同时为素数则ans++
代码1234567891011121314151617181920#include<bits/stdc++.h>using namespace std;bool IsPrime(int n) { if(n <= 1) return false; for(int i = 2; i <= sqrt(n); i++) { if(n % i == 0) return fa ...
【2022寒假萌新训练-3】7-2 判断素数
本题的目标很简单,就是判断一个给定的正整数是否素数。
输入格式:输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于231的需要判断的正整数。
输出格式:对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。
输入样例:123211111
输出样例:12YesNo
思路 根据判断素数的模板直接套就可以,为了提高运行效率,为了防止i*i超出int范围,可以采用i <= sqrt(n)。
代码1234567891011121314151617181920212223#include<bits/stdc++.h>using namespace std;bool IsPrime(int n) { if(n <= 1) return false; for(int i = 2; i <= sqrt(n); ++i) { if(n % i == 0) return false; } return true;}int mai ...
【2022寒假萌新训练-3】7-1 最大公因数与最小公倍数
求两个正整数 a,b 的最大公因数与最小公倍数。
两个数的最大公因数指的是 a,b 共有的约数中最大的一个。
两个数的最小公倍数指的是 a,b 共有的倍数中最小的一个。
输入格式:在一行中给出两个数字 a,b (1<=a,b<=1,000,000,000)
输出格式:在一行中以空格分隔输出 a,b 的最大公因数与最小公倍数。
输入样例:16 9
输出样例:13 18
思路 根据欧几里德算法或者C++的函数库求出a和b的最大公因数.
最小公倍数则是a*b除以它们的最大公倍数,为了防止a * b计算时由于结果过大而溢出,所以可以先让a除以最大公倍数再乘b
欧几里德算法:设a,b均为正整数,a,b的最大公约数等于b,a%b的最大公约数即Gcd(a,b) = Gcd(b,a % b)
代码123456789101112#include<bits/stdc++.h>using namespace std;typedef long long ll;ll Gcd(ll a, ll b) { return a % b == 0 ...
【2022每日分享day12】Git与GitHub
河北大学2022寒假萌新程序设计训练每日知识分享-day12
每日分享——Git与GitHubGitGit是目前世界上最先进的分布式版本控制系统。Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。
GitHubGitHub是一个基于Git的远程文件托管平台。Git本身完全可以做到版本控制,但其所有内容以及版本记录只能保存在本机,如果想要将文件内容以及版本记录同时保存在远程,则需要结合GitHub来使用。
学习网站
Git 教程 | 菜鸟教程
https://www.runoob.com/ https://www.runoob.com/git/git-tutorial.html
Git - 关于版本控制
https://git-scm.com/ https://www.git-scm.com/book/zh/v2/
图形化的学习
https://learngitbranching.js.org/?locale=zh_CN
菜鸟教程网站也 ...
【2022每日分享day11】保存多次复制内容Ditto+全排列函数
河北大学2022寒假萌新程序设计训练每日知识分享-day11
每日分享——保存多次复制内容Ditto+全排列函数可以保存多次复制内容的软件——DittoDitto是剪贴板增强工具,免费开源且支持中文(开源就是说大概率能在github找到这个软件的源代码,可以下载下来自己改一些功能)。你可以保存多次复制的内容,打开近期内容面板后选择一个用于粘贴,包括图片等非文字格式的复制也可,可以自己设置保存多少条近期复制的信息和一些快捷键。
对于平时的刷算法题它也可以带来极大的方便:可以避免在做题调试代码时重复的复制测试点、复制代码提交。
C++的STL中可以用于计算全排列的函数
【2022每日分享day10】algorithm和cctype头文件常用函数
河北大学2022寒假萌新程序设计训练每日知识分享-day10
每日分享——< algorithm >和< cctype >头文件常用函数
【2022每日分享day09】字符串和数字转换函数总结
河北大学2022寒假萌新程序设计训练每日知识分享-day09
每日分享——字符串和数字转换函数总结