近期crq老师为了提高各个学生对ACM的兴趣,在TOJ上增加了积分制度和礼品兑换功能, TOJ的积分是来之不易的,固然同学们都想用同一积分换取最大价值的礼品,某同学用了M的积分换取了一些礼品。 请问:他用M的积分最多能换取多少价值的礼品呢? (积分M一定要使用完) 输入 输入数据首先包含一个正整数C Read More
posted @ 2019-05-19 11:13 厂长在线养猪 Views(251) Comments(0) Diggs(0) Edit
给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4;如果K为4,则输出应该为4→3→2→1→5→6,即最后不到K个元素不反转。 输入 每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址、结点总 Read More
posted @ 2019-05-17 17:19 厂长在线养猪 Views(254) Comments(0) Diggs(0) Edit
1 #include <bits/stdc++.h> 2 using namespace std; 3 char s[1005]; 4 int arr[1005]; 5 int c; 6 int main() 7 { 8 scanf("%s",s); 9 scanf("%d",&c); 10 for Read More
posted @ 2019-05-16 19:40 厂长在线养猪 Views(150) Comments(0) Diggs(0) Edit
描述 本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为m行n列,满足条件:m*n等于N;m>=n;且m-n取所有可能值中的最小值。 本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩 Read More
posted @ 2019-05-15 21:15 厂长在线养猪 Views(193) Comments(0) Diggs(0) Edit
Oliver分别有币值为1,3,5,7,9,13元的硬币a,b,c,d,e,f枚。一天她去大学生超市买糖吃,糖的价格为g元。 问:用Oliver仅有的这6种硬币去恰好购买这g元的糖果,最少需要支付多少个硬币?(当不能支付时输出“impossible”) 输入 输入数据有多组(当输入连续的7个零时,结 Read More
posted @ 2019-05-14 21:23 厂长在线养猪 Views(165) Comments(0) Diggs(0) Edit
描述 给定整数a1、a2、.......an,判断是否可以从中选出若干数,使它们的和恰好为K。 给定整数a1、a2、.......an,判断是否可以从中选出若干数,使它们的和恰好为K。 输入 输入数据有多组,每组第一行为两个整数n和k,n表示数的个数,k表示数的和。第二行为n个数。 1<=n<=20 Read More
posted @ 2019-05-13 19:57 厂长在线养猪 Views(167) Comments(0) Diggs(0) Edit
描述 当用 n 个结点(都做叶子结点且都有各自的权值)试图构建一棵树时,如果构建的这棵树的带权路径长度最小,称这棵树为“最优二叉树”,有时也叫“赫夫曼树”或者“哈夫曼树”。 现给定若干权值,请构建一棵哈夫曼树,并输出各个权值对应的哈夫曼编码长度。 哈夫曼树中的结点定义如下: //哈夫曼树结点结构 t Read More
posted @ 2019-05-09 21:15 厂长在线养猪 Views(613) Comments(0) Diggs(0) Edit
二叉树遍历时,需要多次的压栈和出栈过程,效率比较低。对二叉树进行线索化可以有效解决此问题。 每一棵二叉树上,很多结点都含有未使用的指向NULL的指针域。二叉树线索化时: 如果结点有左子树,则 left 指针域指向左孩子,否则 left 指针域指向该结点的直接前趋; 如果结点有右子树,则 right Read More
posted @ 2019-04-29 20:35 厂长在线养猪 Views(352) Comments(0) Diggs(0) Edit
描述 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。 现给定字符串,问一共可以形成多少个PAT? 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位( Read More
posted @ 2019-04-21 17:08 厂长在线养猪 Views(109) Comments(0) Diggs(0) Edit
int gdc(int n){ int num[200]={1}; //保存这个位置的数 int jw=0,len=1; for(int i=2;i<=n;i++){ for(int j=0;j<len;j++){ int zhi=(num[j]*i+jw)/10; num[j]=(num[j]*i Read More
posted @ 2019-04-20 20:50 厂长在线养猪 Views(137) Comments(0) Diggs(0) Edit