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

分段数列 [问题描述] 对于给定的一个长度为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.   营救 铁塔尼号遇险了!他发出了求救信号.距离最近的哥伦比亚号收到了讯息,时间就是生命,必须尽快赶到那里. 通过侦测,哥伦比亚号获取了一张海洋图.这张图将海洋部分分化成n*n个比较小的单位,其中用1标明的是陆地,用0标明是海洋.船只能从一个格子,移到相邻的四个格子. 为了尽快赶到出事地点,哥伦比亚号最少需要走多远的距离. [输入格式] 第一行为n(0<n<=100),下面是一个n*n的0.1矩阵,表示海洋地图:最后一行为四个小于n的整数,分别表示哥伦比亚号和铁塔尼号的位置. [输出格式…
1. 银行取款 [题目描述] 在现代文明社会中,大家在诸如银行办理业务.车站买票等活动时都很文明没有插队的现象,本着“先来先服务”的规矩. 新年马上到了,明明的爸爸打算上银行去取点钱,带着一向表现很好的明明同学到三亚旅游,明明的爸爸到银行时发现很多人在办理业务,明明的爸爸就自觉地在排队机上去了一个业务号码,并焦急的等待着银行柜台叫自己的号码...... [输入文件] 输入文件名:bank.in 输入中包含I(表示等待办理业务)和顾客的序号,或者 O(表示办理完业务的人离开): 输入数据不超过10…
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.    打印乘法表 [问题描述] 用for循环实现输出1至9的乘法表 [样例输出] 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4…
1.     计算书费 [问题描述]下面是一个图书的单价表: 计算概论 28.9 元/本 数据结构与算法 32.7 元/本 数字逻辑 45.6元/本 C++程序设计教程 78 元/本 人工智能 35 元/本 计算机体系结构 86.2 元/本 编译原理 27.8元/本 操作系统 43 元/本 计算机网络 56 元/本 JAVA程序设计 65 元/本 给定每种图书购买的数量,编程计算应付的总费用. 输入:输入一行,包含10个整数(大于等于0,小于等于100),分别表示购买的<计算概论>.<数…
1.    信息加密 [问题描述] 在传递信息的过程中,为了加密,有时需要按一定规则将文本转换成密文发送出去.有一种加密规则是这样的:1. 对于字母字符,将其转换成其后的第3个字母.例如:A→D,a→d,X→A,x→a:2. 对于非字母字符,保持不变.现在,请你根据输入的一行字符,输出其对应的密码. [输入格式] 输入一个字符串(字符串长度不超过100). [输出格式] 输出加密后的字符串. [输入样例]I(2016)love(08)China(15)! [输出样例]L(2016)oryh(08…
1.    排座椅 [问题描述] 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳. 同学们在教室中坐成了 M 行 N 列,坐在第i行第j列的同学的位置是 (i,j) ,为了方便同学们进出,在教室中设置了 K 条横向的通道, L 条纵向的通道.于是,聪明的小雪想到了一个办法,或许可以减少上课时学生交头接耳的问题:她打算重新摆放桌椅,改变同学们桌椅间通道的位置,因…
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 [样例输出]…
1. 繁忙的都市 [问题描述] 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条道路相连接.这些道路是双向的,且把所有的交叉路口直接或间接的连接起来了.每条道路都有一个分值,分值越小表示这个道路越繁忙,越需要进行改造.但是市政府的资金有限,市长希望进行改造的道路越少越好,于是他提出下面的要求:1.改造的那些道路能够把所有的交叉路口直接或间接的连通起来.2.…
1.    信使 [问题描述] 战争时期,前线有n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系.信使负责在哨所之间传递信息,当然,这是要花费一定时间的(以天为单位).指挥部设在第一个哨所.当指挥部下达一个命令后,指挥部就派出若干个信使向与指挥部相连的哨所送信.当一个哨所接到信后,这个哨所内的信使们也以同样的方式向其他哨所送信.直至所有n个哨所全部接到命令后,送信才算成功.因为准备充足,每个哨所内都安排了足够的信使(如果一个哨所与其他k个哨所有通信联系的话,这个哨所内至少会配备k个信使).…
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.  马走日 [问题描述] 马在中国象棋以日子形规则移动.请编写一段程序给定n*m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. 输入:第一行为整数T(T<10),表示测试数据组数.每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,y.(0≤x≤n-1,0≤y≤m-1,m<10,n<10) 输出:每组测试数据包含一行,为一个整数,表示马能遍历棋盘的途径总数,0为无法遍历一次. [样例输入]…
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. 评学习小标兵 [问题描述] 东东所在的班级有 N 名同学,期末考试进行了数学.语文.英语.地理四门功课的测试.班主任要将这 N 名学生中总分前三名定为本学期的“学习小标兵”.现在给出这N 名学生的姓名和各科成绩,请你编程找到总分前三名,并依次输出他们的姓名.所给数据不会有总分相同的情况(使用快速排序完成). [输入格式] 输入包含 N+1 行,第一行仅有一个正整数 N (N≤40),表示东东班里学生的总数,接下来的 N 行,每行描述一个学生的考试信息,依次为姓名.数学成绩.语文成绩.英语成…
1. 谁考了第K名 在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩. [输入格式] 第一行有两个整数,分别是学生的人数n(1<=n<=100),和求第k名学生的k(1<=k<=n).其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔. [输出格式] 输出第k名学生的学号和成绩,中间用空格分隔. [样例输入] 5 3 90788001 67.8 90788002 90.3 90788003 61 90788…
1.  召见骑士 [问题描述] 某王国有5位骑士,每位骑士都有自己的编号,且这个王国的编号都为奇数,分别为1,3,5,7,9,在国王召见他们之前他们都必须经过只能从一边进出的长廊,长廊的宽度只能坐一个人.2018年1月1日这天,所有骑士依照编号从小到大的次序提前在长廊的入口等待,且只有当前面的人进入长廊后,后面的人才能进入长廊.国王想要召见一些骑士,把他们的编号写在纸上,让侍卫去宣传召见,问国王写的召见编号是否合理? [输入格式] 输入一个编号序列. [输出格式] 如果合理,输出“YES”,如果…
1. 猴子吃桃 [问题描述] 猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个:第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个:以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了.问第一天共摘了多少个桃子? #include <iostream> using namespace std; int peach(int n) { ) ; else * (peach(n + )+); } int main() { int sum; sum=peach(); c…
1. 累加求和 给定n(1<=n<=100),用递归的方法计算1+2+3+4+5+......+(n-1)+n. 输入:一个大于等于1的整数. 输出:输出一个整数. [样例输入] 5 [样例输出] 15 #include <iostream> using namespace std; int fac(int n){ ) ; ) + n); } int main(){ int n; cin >> n; cout << fac(n) << endl;…
1.    排身高 [问题描述] 鹏鹏的班上一共有 n 个学生.刚好每个同学的身高互不相同.鹏鹏想知道,所有同学中身高第二高的是谁. 输入格式:输入共两行,第一行有一个整数 n(2≤n≤100),表示有 n 个学生.第二行有 n 个用空格分开的整数 a1,……, an,依次表示每个同学的身高.ai 是不超过 200 的正整数. 输出格式:输出为两个整数,中间用空格隔开, 分别表示身高第二高的同学的编号和身高. [输入样例] 4 140  145  152  144 [输出样例] 2   145…
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…
1.    计算邮资 [问题描述] 根据邮件的重量和用户是否选择加急计算邮费.计算规则:重量在1000克以内 (包含1000克),基本费8元.超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算:如果用户选择加急,多收5元. 输入:输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急.如果字符是y,说明选择加急:如果字符是n,说明不加急. 输出:一行,包含一个整数,表示邮费. [样例输入] 1200 y [样例输出] 17 #include…
1.    求最大值 [问题描述] 输入三个数a,b,c,输出三个整数中的最大值 [样例输入] 10 20 30 [样例输出] 30 #include <iostream> using namespace std; int main(){ int a, b, c; cin >> a >> b >> c; if(a<b){ a=b; } if(a<c){ a=c; } cout << a << endl; ; } 2.   …
1.    大象喝水 [问题描述] 一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数).问大象至少要喝多少桶水才会解渴. 输入:输入有一行,包行两个整数,以一个空格分开,分别表示小圆桶的深h和底面半径r,单位都是厘米. 输出:输出一行,包含一个整数,表示大象至少要喝水的桶数. [样例输入] 23 11 [样例输出] 3 [提示] 如果一个圆桶的深为h厘米,底面半径为r厘米,那么它最多能装Pi * r * r * h立方厘米的水.(设Pi=3.…
1.    求三个数的乘积和三次方和 [问题描述] 编程实现输入任意三个整数a, b, c,将这三个数的乘积以及三次方和输出: [样例输入] 1 2 3 [样例输出] 6 36 #include <iostream> using namespace std; int main(){ int a, b, c; cin >> a >> b >>c; cout << a*b*c << " "; cout <<…
1.    数字比较 定义一个函数check(n,d),让它返回一个布尔值,如果数字d在正整数n的某位中出现则返回true,否则返回false. 例如:check(325719,3)==true:check(77829,1)==false: [样例输入1] 325719 3 [样例输出1] true [样例输入2] 77829 1 [样例输出2] false #include<iostream> #include<string> #include<cstring> us…
1.     统计不同类型字符出现次数 [问题描述] 输入一个字符串(假设长度不超过1000个字符),统计其中大写,小写,数字,其他字符出现的次数. [样例输入]Hello,what are you doing 123? [样例输出]1  19  3  6 #include<iostream> #include<cstring> using namespace std; int main() { ]; ,xx = ,sz = ,qt = ; int l, i; //输入字符串 ci…