![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程
RyanQiJing
这个作者很懒,什么都没留下…
展开
-
1010:平均绩点 分数: 1
题目描述每门课的成绩分为A、B、C、D、F五个等级,为了计算平均绩点,规定A、B、C、D、F分别代表4分、3分、2分、1分、0分。输入格式有多组测试样例。每组输入数据占一行,由一个或多个大写字母组成,字母之间由空格分隔。输出每组输出结果占一行。如果输入的大写字母都在集合{A,B,C,D,F}中,则输出对应的平均绩点,结果保留两位小数。否则,输出“Unknown”。样例输入A B C原创 2015-07-10 09:44:08 · 843 阅读 · 0 评论 -
4820:【一维数组】排序后的奇数项 分数:
题目描述有20个正整数,将它们从小到大排序,输出其中的奇数项。 输入格式一行,有20个正整数,整数之间用空格隔开。 输出一行,排序后奇数项的值。行末不要出现多余空格。 样例输入20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1样例输出1 3 5 7 9 11 13 15 17 19提示原创 2015-07-10 09:45:06 · 1019 阅读 · 0 评论 -
4817:【一维数组】元素求和 分数: 1
题目描述对于一个有N(N输入格式第一行:一个正整数N 第二行:N个正整数,表示数组中的N个元素,每个整数不超过10000,数值之间用一个空格分隔。 第三行:一个正整数K,表示进行K次区间求和。 接下来K行:每行两个整数i和j,表示计算第i个数组元素到第j个数组元素的和,包括第i个和第j个。 输出共K行,每行对应一次求和的结果。 样例输入原创 2015-07-10 09:45:08 · 2026 阅读 · 0 评论 -
26749:指针练习 分数: 100
题目描述输入两个整数,按从小到大打印出来。注意: 必须使用指针 输入格式输出样例输入5 3样例输出3 5program p26749;type pointer=^integer;var p1,p2:pointer;procedure swap(var q1,q2:pointer); var q:pointer; begin q:=q1; q1:=q2; q2:原创 2015-07-10 09:45:14 · 211 阅读 · 0 评论 -
26750:线性链表建立及正序输出 分数: 100
题目描述输入一个正整数序列,遇负数时停止,建立一个线性链表存储读入的数据,将各个元素按顺序输出。输入格式输出样例输入1 2 3 4 5 -1样例输出1 2 3 4 5program plianbiao;type pointer=^node; node=record date:longint; next:pointer; end; va原创 2015-07-10 09:45:19 · 843 阅读 · 0 评论 -
2015年01月25日
program p26752;var a:array[1..1000000]of longint;i,j,k,n,l:longint;begin i:=0; l:=0; repeat i:=i+1; k:=i; read(a[i]); until a[i] readln(n); for j:=1 to k-2 do if n begin write(a[j],' '); l:=l+1; en原创 2015-07-10 09:45:35 · 163 阅读 · 0 评论 -
【转载】中缀变后缀
program bds;const m=50;type {定义栈} stack=array[1..m] of char; stack1=array[1..m] of real;var s:stack; s1:stack1; e,a:string; i,l,p,y:integer; x:real;begin {中缀表达式e转后缀表达式a, s为运原创 2015-07-10 09:45:44 · 235 阅读 · 0 评论 -
【转载】有序拆分
var top,j,n,m:integer; s:array[0..100] of integer;Procedure print;Var i:integer; begin if top>1 then begin write(n,'=',s[1]); for i:=2 to top do write('原创 2015-07-10 09:45:46 · 703 阅读 · 0 评论 -
26757:循环链表练习 分数: 100
题目描述 有n只猴子,按顺时针方向围成一圈(开始时编号为1,2,……n),选大王。从第1号猴子开始报数1,2,3……,数到m号时该猴子退出到圈外,如此报数直到圈内只剩下一只猴子时,此猴便是大王。你的任务是从键盘读入n,m,程序判断输出最后的大王是几号? 输入格式输入一行,n,m分别表示猴子数量和报的数输出输出选出的大王样例输入5 3样例输出4program p4原创 2015-07-10 09:45:52 · 201 阅读 · 0 评论 -
1025:统计硬币 分数: 1
题目描述假设一堆由1分、2分、5分组成的n个硬币总面值为m分,求一共有多少种可能的组合方式(某种面值的硬币可以数量可以为0)。输入格式输入数据第一行有一个正整数T,表示有T组测试数据。接下来的T行,每行有两个数n,m,n和m的含义同上。输出对于每组测试数据,请输出可能的组合方式数,每组输出占一行。样例输入23 54 8样例输出12program p1025;原创 2015-07-10 09:45:03 · 747 阅读 · 0 评论 -
4849:符合条件的数 分数: 3
题目描述从键盘输入三个正整数(均小于10),用这三个数分别作为除数,输出余数均为1的最小的十个数。输入格式三个正整数。输出满足条件的10个整数,整数之间用一个空格隔开,行末不要出现多余空格。样例输入2 3 5样例输出1 31 61 91 121 151 181 211 241 271program p4849;var a,b,c,i:原创 2015-07-10 09:45:00 · 552 阅读 · 0 评论 -
1021:恶搞指数
题目描述小明的朋友过生日,小明准备了一件礼物,不过小明想恶搞一下他的朋友,所以他准备了一堆盒子,其中有一个盒子里面装了礼物。盒子里面可以再放零个或者多个盒子。假设放礼物的盒子里不再放其他盒子。用()表示一个盒子,B表示礼物,小明想让你帮他算出恶搞指数,即最少需要拆多少个盒子才能拿到礼物。输入格式 输入包含多组测试数据。每组测试数据是一个长度不大于1000,只包含(,)和 B 三种字符的字符原创 2015-07-10 09:44:55 · 631 阅读 · 0 评论 -
陶陶摘苹果
program taotao;var a:array[1..10]of integer; i,s,y:integer;begin assign(input,'apple.in'); reset(input); assign(output,'apple.out'); rewrite(output); s:=0; for i:=1 to 10 do read(a[i]); r原创 2015-07-10 09:44:15 · 361 阅读 · 0 评论 -
4819:【一维数组】陶陶摘苹果 分数: 1
题目描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。 现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。 输入格式 输入包括两行数据。原创 2015-07-10 09:44:18 · 690 阅读 · 0 评论 -
1034:打印数字图形 分数: 1
题目描述先要求你从键盘输入一个整数n(1输入格式输入包含多组测试数据。每组输入一个整数n(1输出对于每组输入,输出指定的数字图形。注意:每行最后一个数字后没有任何字符。样例输入5样例输出11211232112343211234543211234321123211211方法一: program p1034;var n,i,j,k:integer;begin原创 2015-07-10 09:44:20 · 546 阅读 · 0 评论 -
1014:当总统 分数: 1
题目描述小明想当丑国的总统,丑国大选是按各州的投票结果来确定最终的结果的,如果得到超过一半的州的支持就可以当选,而每个州的投票结果又是由该州选民投票产生的,如果某个州超过一半的选民支持小明,则他将赢得该州的支持。现在给出每个州的选民人数,请问小明至少需要赢得多少选民的支持才能当选?输入格式输入包含多组测试数据。每组数据的第一行是一个整数N(1接下来一行包括N个正整数,分别表示每个州的选民数原创 2015-07-10 09:44:28 · 757 阅读 · 0 评论 -
竞赛题库题解1015
1015:构建矩阵题目描述现请你构建一个N*N的矩阵,第i行j列的元素为i与j的乘积。(i,j均从1开始)输入格式输入的第一行为一个正整数C,表示测试样例的个数。然后是C行测试样例,每行为一个整数N(1输出对于每一组输入,输出构建的矩阵。样例输入214样例输出11 2 3 42 4 6 83 6 9 124 8 12 16program p1015;va原创 2015-07-10 09:44:31 · 522 阅读 · 0 评论 -
4814:【一维数组】数组元素输出 分数: 1
题目描述输入n个数,要求程序按输入时的逆序把这n个数打印出来。也就是说,请你按输入相反顺序打印这n个数。 输入格式第一个n,表示元素的个数。 第二行:n个整数,数值之间用一个空格隔开。 输出倒序后的结果,相邻数据之间用一个空格隔开,行末不要出现多余的空格。 样例输入101 2 3 4 5 6 7 8 9 10样例输出10 9 8 7 6 5 4 3 2原创 2015-07-10 09:44:36 · 501 阅读 · 0 评论 -
1019:石头剪子布 分数: 1
题目描述现在有两个人在玩石头剪子布游戏,请你判断最后谁赢了。用R代表石头,S代表剪子,P代表布。输入格式输入的第一行是一个整数t(0每组输入样例的第一行是一个整数n(0接下来n行,每行由两个字母组成,两个字母之间用一个空格分隔,这些字母只会是R,S或P。第一个字母表示Player1的选择,第二个字母表示Player2的选择。输出对于每组输入样例,输出获胜方的名字(Player1或Play原创 2015-07-10 09:44:49 · 640 阅读 · 0 评论 -
1019:石头剪子布 分数: 1
题目描述现在有两个人在玩石头剪子布游戏,请你判断最后谁赢了。用R代表石头,S代表剪子,P代表布。输入格式输入的第一行是一个整数t(0每组输入样例的第一行是一个整数n(0接下来n行,每行由两个字母组成,两个字母之间用一个空格分隔,这些字母只会是R,S或P。第一个字母表示Player1的选择,第二个字母表示Player2的选择。输出对于每组输入样例,输出获胜方的名字(Player1或Play原创 2015-07-10 09:44:52 · 593 阅读 · 0 评论 -
26791: 找树根和孩子
题目描述给定一棵树,输出树的根root,孩子最多的结点max以及他的孩子。 输入第一行:n(结点个数),m(边数)。 以下m行;每行两个结点x和y,表示y是x的孩子。 输出第一行:树根:root。 第二行:孩子最多的结点max。 第三行:max的孩子。 样例输入8 74 14 21 31 52 62 72 8样例输出426 7 8program p26791原创 2015-07-10 09:46:00 · 1533 阅读 · 0 评论 -
26847: 二叉树的遍历
题目描述建立二叉树,然后实现:输出先序遍历、中序遍历、后序遍历的结果。 输入第一行:结点个数n。 以下行:每行3个数,第一个是父亲,后两个依次为左右孩子,0表示空。 输出输出:根、先中后序遍历结果。 样例输入81 2 42 0 04 8 03 1 55 6 06 0 78 0 07 0 0样例输出33 1 2 4 8 5 6 7 2 1 8 4 3 6原创 2015-07-10 09:46:02 · 600 阅读 · 0 评论 -
26885: 树的公共祖先
题目描述给定一棵二叉树和两个不同的节点,求出他们最近的公共祖先父节点。已知该二叉树有n个节点,标号1..n。(n输入输入: 第一行两个整数x,y,表示需要计算的节点; 以下若干行,每行两个整数a和b,表示a的父节点是b。 输出输出: X与y的最近公共祖先root。 样例输入9 72 13 24 25 38 59 56 47 4样例输出2program p26885;原创 2015-07-10 09:46:05 · 493 阅读 · 0 评论 -
高精乘
vari,j,la,lb,len:integer;s1,s2:string;m:longint;a,b,c:array[1..250] of integer;beginreadln(s1);la:=length(s1);readln(s2);lb:=length(s2);for i:=1 to la doa[i]:=ord(s1[la-i+1])-48;for i:=1 to lb dob[i]:原创 2015-07-10 09:47:06 · 307 阅读 · 0 评论 -
分治求最大最小
var x:array[1..1000]of integer; i,n,maxx,minn:integer;procedure pd(r1, r2:integer;var maxx,minn:integer); var max1,min1,max2,min2,d:integer;begin if(r1=r2) then begin maxx:=x[r1]; minn:=x原创 2015-07-10 09:47:09 · 284 阅读 · 0 评论 -
NOIP2010提高组复赛试题
1.机器翻译 (translate.pas/c/cpp)【问题描述】小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这原创 2015-07-10 09:47:17 · 548 阅读 · 0 评论 -
问题 G: 均分纸牌
有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌,然后移动。 移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。 现在要求找出一种移动方法,用最少的移动次数使每堆上纸牌数都一样多。 例如 N=4,4原创 2015-07-10 09:47:25 · 646 阅读 · 0 评论 -
问题 B: 排队打水问题(water) [2*]
题目描述排队打水问题(water) 【问题】 有n个人排队到m个水龙头去打水,他们装满水桶的时间t1, t2 , ……, tn为整数且各不相同,应如何安排他们的打水顺序才能使他们花费的总时间最少? 【输人样例】4 2 ( n m ) 【输出样例】23(所有人的花费时间总和) 2 6 4 5 (t1 t2 …… tn) 输入输出样例输入样例输出提示va原创 2015-07-10 09:47:28 · 1062 阅读 · 0 评论 -
问题 H: Frog青蛙的约会【浙江省选2002】
题目描述Frog青蛙的约会 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝着对方那里跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然原创 2015-07-10 09:47:30 · 487 阅读 · 0 评论 -
问题 A: 分解质因数(Primefac) [1*]
题目描述分解质因数Prime factor(Primefac) 【问题】求正整数n的质因子,输出如下形式: 100=2*2*5*5 【输入】一个【输出】按题目要求的形式输出n的质因子 输入输出样例输入样例输出Const max=32000;var a:array[2..max]of boolean; p:array[1..3500]of word;原创 2015-07-10 09:47:33 · 986 阅读 · 0 评论 -
高精减
代码一:const max=200;var s,sa,sb:string; a,b:array[1..max] of integer; len,la,lb, i:integer; fh:char;begin readln(sa); readln(sb); if sa=sb then begin writeln(0);halt;end; if (length(sa)原创 2015-07-10 09:47:03 · 492 阅读 · 0 评论 -
问题 D: 合唱队形
题目描述N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …, TK,则他们的身高满足T1 Ti+1 > … > TK (1≤i≤K)。 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。输入输入文原创 2015-07-10 09:46:57 · 370 阅读 · 0 评论 -
2015年06月06日
【问题描述】设有一个三角形的数塔,顶点结点称为根结点,每个结点有一个整数数值。从顶点出发,可以向左走,也可以向右走。如图1所示。寻找一条从根结点到达数塔最底层的路径,使得路径上结点的和为最大。 【输入格式】 第一行:一个整数n(n),表示数塔共有n层。 以下n行(第2行至第n+1行): 第i行有i个整数,每个整数不超过10000, 依次是此行结点上的数值,整数之间用空格隔开。原创 2015-07-10 09:46:51 · 435 阅读 · 0 评论 -
26886: 树的路径
题目描述给定一棵二叉树和两个不同的节点,求出他们到最近的公共祖先父节点的路径。已知该二叉树有n个节点,标号1..n。(n输入输入: 第一行两个整数x,y,表示需要求的节点; 以下若干行,每行两个整数a和b,表示a的父节点是b。 输出X到y的路径。 样例输入9 72 13 24 25 38 59 56 47 4样例输出9 5 3 2 4 7 program x原创 2015-07-10 09:46:08 · 265 阅读 · 0 评论 -
1777: 算法10-6~10-8:快速排序
题目描述快速排序是对起泡排序的一种改进。它的基本思想是,通过一趟排序将待排序的记录分割成两个独立的部分,其中一部分记录的关键字均比另一部分的关键字小,在分成两个部分之后则可以分别对这两个部分继续进行排序,从而使整个序列有序。快速排序的算法可以描述如下:在本题中,读入一串整数,将其使用以上描述的快速排序的方法从小到大排序,并输出。输入输入的第一行包含1个正整数n,表示共有n个整数需要参与排序。其中n原创 2015-07-10 09:46:11 · 2252 阅读 · 0 评论 -
1779: 算法10-10,10-11:堆排序
题目描述堆排序是一种利用堆结构进行排序的方法,它只需要一个记录大小的辅助空间,每个待排序的记录仅需要占用一个存储空间。首先建立小根堆或大根堆,然后通过利用堆的性质即堆顶的元素是最小或最大值,从而依次得出每一个元素的位置。堆排序的算法可以描述如下:在本题中,读入一串整数,将其使用以上描述的堆排序的方法从小到大排序,并输出。输入输入的第一行包含1个正整数n,原创 2015-07-10 09:46:13 · 671 阅读 · 0 评论 -
1762: 算法7-4,7-5:图的遍历——深度优先搜索
题目描述深度优先搜索遍历类似于树的先根遍历,是树的先根遍历的推广。其过程为:假设初始状态是图中所有顶点未曾被访问,则深度优先搜索可以从图中的某个顶点v出发,访问此顶点,然后依次从v的未被访问的邻接点出发深度优先遍历图,直至图中所有和v有路径相通的顶点都被访问到;若此时图中尚有顶点未被访问,则另选图中一个未曾被访问的顶点作为起始点,重复上述过程,直至图中所有顶点都被访问到为止。 其算法可原创 2015-07-10 09:46:16 · 1567 阅读 · 0 评论 -
26935: 笛卡尔树
题目描述【问题描述】 笛卡尔树(Cartesian Tree)是一种特殊的二叉搜索树。让我们复习一下:二叉搜索树是一颗有根二叉树,并且对于每个结点x都满足:它左子树中的任何结点的权值都小于x的权值,它右子树中任何结点的权值都大于x的权值。让我们形式化定义:假设x的左子树为L(x),x的右子树为R(x),x的权值为k(x)。则一颗满足如下条件的二叉树称为二叉搜索树: 如果点y在L(原创 2015-07-10 09:46:21 · 611 阅读 · 0 评论 -
spfa
program spfa;constmaxp=10000;varp,c,s,t:longint;a,b:array[1..maxp,0..maxp]of longint;d:array[1..maxp]of longint;v:array[1..maxp]of boolean;dist:array[1..maxp]of longint;head,tail:longint;procedure ini原创 2015-07-10 09:46:32 · 213 阅读 · 0 评论 -
2015年05月01日
program tppx;const maxn=100;var map:array[1..maxn,1..maxn]of longint; into:array[1..maxn]of longint; n,i,j,k:longint; procedure init; var i,j:longint; begin read(n); for i:=1 to原创 2015-07-10 09:46:35 · 211 阅读 · 0 评论