noip第20课作业】的更多相关文章

1. 评学习小标兵 [问题描述] 东东所在的班级有 N 名同学,期末考试进行了数学.语文.英语.地理四门功课的测试.班主任要将这 N 名学生中总分前三名定为本学期的“学习小标兵”.现在给出这N 名学生的姓名和各科成绩,请你编程找到总分前三名,并依次输出他们的姓名.所给数据不会有总分相同的情况(使用快速排序完成). [输入格式] 输入包含 N+1 行,第一行仅有一个正整数 N (N≤40),表示东东班里学生的总数,接下来的 N 行,每行描述一个学生的考试信息,依次为姓名.数学成绩.语文成绩.英语成…
1.     计算税收 [问题描述] 对某产品征收税金,在产值1万元以上收税5%:在1万元以下但在5000元或者以上的征收税3%:在5000元以下但在1000元或以上征收税2%:1000元以下的免收税.编程实现输入产值,输出该产品的收税金额. [样例输入]1000 [样例输出]20 #include <iostream> using namespace std; int main(){ int n; cin >> n; ){ : cout << << end…
1.   钢条切割 [问题描述] 一家公司购买长钢条,将其切割成短钢条出售,切割本身没有成本,长度为i的短钢条的价格为Pi.那给定一段长度为n的钢条和一个价格表Pi,求钢条的切割方案使得收益Rn最大.如一个Pi如下: 长度i 1 2 3 4 5 6 7 8 9 10 价格pi 1 5 8 9 10 17 17 20 24 40 [输入格式] 一个整数n为钢条的长度(0<n<=1000). [输出格式] 一个整数为最大的收益. [样例输入] 5 [样例输出] 13 [样例输入] 7 [样例输出]…
分段数列 [问题描述] 对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求. 输入格式: 输入第1行包含两个正整数N,M,表示了数列A[i]的长度与每段和的最大值,第2行包含N个空格隔开的非负整数A[i].(N≤100000,M≤10^9) 输出仅包含一个正整数,输出最少划分的段数. [输入样例] 5 6 4 2 4 5 1 [输出样例] 3 #include<iostream> #define N 100…
1.   求一个有向图所有顶点入度的和 输入有向图的顶点个数,边数以及各顶点之间的关联情况,要求求出这个有向图的所有顶点入度的总和. [输入格式] 第1行:2个空格分开的整数n(2<=n<=200)和m(10<=m<=20000),分别表示图的顶点和边数. 第2至m+1行:每行2个空格分开的整数i,j,i表示一条边的起点,j表示终点. [输出格式] 只有1行,为1个整数,表示所有顶点的入度总和. [样例输入] 3 6 1 2 1 3 2 1 2 3 3 1 3 2 [样例输出] 6…
1.   数字分解 [问题描述] 任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和,当n等于5时有6种拆分方法: 5=1+1+1+1+1 5=1+1+1+2 5=1+1+3 5=1+2+2 5=1+4 5=2+3 输入:一行包含一个正整数n(1<n<10). 输出:先将拆分方案输出,然后再输出拆分的方案数. [输入样例] 5 [输出样例] 5=1+1+1+1+1 5=1+1+1+2 5=1+1+3 5=1+2+2 5=1+4 5=2+3 total=6 #include <…
1. 遍历二叉树 [问题描述] 以先序的方式建立一棵二叉树,空结点用‘#’号表示,例如:abd###ce##f##,将建立一棵如下的二叉树: 输出其中序序列和后序序列,其中总结点个数不超过100. 输入:仅一行,输入一串字符串,该字符串必须能构成一棵二叉树: 输出:两行,第一行为中序序列,第二行为后序序列. [样例输入] abd###ce##f## [样例输出] dbaecf dbefca #include<iostream> using namespace std; struct node{…
1. 银行取款 [题目描述] 在现代文明社会中,大家在诸如银行办理业务.车站买票等活动时都很文明没有插队的现象,本着“先来先服务”的规矩. 新年马上到了,明明的爸爸打算上银行去取点钱,带着一向表现很好的明明同学到三亚旅游,明明的爸爸到银行时发现很多人在办理业务,明明的爸爸就自觉地在排队机上去了一个业务号码,并焦急的等待着银行柜台叫自己的号码...... [输入文件] 输入文件名:bank.in 输入中包含I(表示等待办理业务)和顾客的序号,或者 O(表示办理完业务的人离开): 输入数据不超过10…
1.    输出低于班级平均分的学生信息 [问题描述] 输入N个学生的姓名和语文.数学的得分,求平均分低于班级平均分的学生,将其信息全部输出.分数相同的按输入先后输出. 输入格式:第1行,有一个整数N,N的范围是[1…100]:下面有N行,每行一个姓名(字符串),2个整数.姓名由不超过10个的小写字母组成,整数范围是[0…100]. 输出格式:平均分低于班级平均分的学生信息.格式:姓名  语文  数学  平均分.每个学生占一行.如果没有,输出none. [样例输入] 4 gaoxiang  78…
1.    数据统计 [问题描述] 输入N个整数,求出它们的最小值.最大值和平均值(保留3位小数).输入保证这些数都是不超过1000的整数.(1<=N<=1000) [样例输入] 8 2 8 3 5 1 7 3 6 [样例输出] 1 8 4.375 #include <iostream> #include <iomanip> using namespace std; int main(){ , min, max, k; cin >> n; k=n; cin…