初学者
discover_space
水滴石穿,聚沙成塔。我们都要好好加油,为了热爱。
展开
-
挑战程序设计竞赛(1)
2019.1.23 第一次打开这本书,p16热身题1.三角形有n根棍子,棍子i的长度为。想要从中选出3根棍子组成周长尽可能长的三角形。请输出最大的周长,若无法组成三角形,输出0。限制条件: 3n100 1第一行输入n值,第二行输入每个棍子的长度。输出一行周长。 样例1 输入: 5 2 3 4 5 10 输出: 12 样例2 ...原创 2019-01-24 16:59:05 · 404 阅读 · 0 评论 -
0402递归学习
递归学习递归——自己调用自己常见写法:int digui(int i){ if( )//递归停止条件 { } else//继续进行的语句 { digui(i++);//通常这里会改变传入的值 }}1.问题1:打印n个数的全排列使用递归!求 {1 2 3 4 5......n}的全排...原创 2019-04-03 19:56:15 · 102 阅读 · 0 评论 -
啊哈算法学习2 栈、队列、链表
1.栈的应用实例,回文串判断///回文串判断#include<stdio.h>#include<string.h>int main(){ char a[101],s[101]; int i,len,mid,next,top; while(gets(a)) { len=strlen(a); mid=...原创 2019-03-20 20:09:33 · 215 阅读 · 0 评论 -
啊哈算法学习1 快速排序原理
第一章:快速排序#include<stdio.h>int a[1005],n;void quicksort(int left,int right)//接收对象:数组中左右元素下标,以最左元素为基准{ int i,j,t,temp; if(left>right)//递归停止条件:若右元素比基准元素小,说明全走完了 return; ...原创 2019-03-20 20:09:00 · 185 阅读 · 0 评论 -
分数四则运算的实现
Description定义分数类,数据成员a和b表示分数的分子和分母,类中定义成员函数能够实现分数的加、减、乘和除运算。 Input首先是一个正整数n,表示有n组数据。每一组数据中由4个整型数组成,分别表示第1个分数的分子和分母和第2个分数的分子和分母。 Output两个分数加、减、乘和除的结果。 Sample Input32 -4 3 51 2 3 44 3 2...转载 2019-01-30 15:32:15 · 491 阅读 · 0 评论 -
挑战程序设计竞赛(4)贪心法初识
1.硬币问题有1元,5元,10元,50元,100元,500元的硬币,各C1,C5,C10,C50,C100,C500C1,C5,C10,C50,C100,C500枚。现在要用来支付A元,最少需要各种硬币多少。假定本题至少存在一种支付方案。样例输入C1=3,C5=2,C10=1,C50=3,C100=0,C500=2A = 620样例输出6(500的1个,...原创 2019-02-03 16:56:41 · 249 阅读 · 0 评论 -
挑战程序设计竞赛(3)
1.深度优先搜索(DFS)初识Depth-First Search ,简称DFS,是搜索的手段之一。它从某个状态开始,不断转移状态直到无法转移,然后回退到前一步的状态,继续转移到其他状态,如此不断重复,直至找到最终的解。通常采用递归函数来实现。问题1:部分和问题给定整数a1,a2,···,an,判断是否可以从中选出若干数,使他们的和恰好为k。(1<=n<=20 ...原创 2019-01-25 22:46:33 · 196 阅读 · 0 评论 -
挑战程序设计竞赛(2)
队列(queue)和栈(stack)初试相同点:都支持push和pop两种操作。不同点:栈是“后进先出”,最后进入栈的一组数据可以最先被取出;队列则是“先进先出”。///栈的练习#include<stack>#include<cstdio>using namespace std;int main(){ stack<int> s...原创 2019-01-24 23:37:37 · 133 阅读 · 0 评论 -
Java快排、冒泡排序学习
/** * 冒泡排序and快速排序 */public class Sort { public static void quickSort(int[] data,int start,int end) { int i=start;int j=end; if(i>=j)//退出条件 return; bo...原创 2019-05-05 16:53:23 · 88 阅读 · 0 评论