
算法与数据结构
CrzayCodess
本人在河海大学读本科,正在学习计算机
展开
-
蓝桥杯 历届试题 地宫取宝
由于Java比C/C++的程序所需时间长,所以这个程序写出来官网超时了。问题描述 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起原创 2015-04-06 00:24:06 · 490 阅读 · 0 评论 -
算日期模板
输入开始日期比如2016 3 18,然后输入经过天数比如1000,然后程序输出经过1000天后的日期。代码如下:#include<iostream>#include<cstdio>using namespace std;int main(){ int year,month,day,sum; int days[13]={0,31,28,31,30,31,30,31,31,30,3原创 2016-03-18 21:07:33 · 467 阅读 · 1 评论 -
蓝桥杯—地宫取宝
X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。请你帮小明算一算,在给定的局面下,他有多少原创 2016-03-18 18:40:10 · 1318 阅读 · 0 评论 -
next_permutation函数
next_permutation函数 这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件 下面是以前的笔记 与之完全相反的函数还有prev_permutation (1) int 类型的next_permutation int main() { int a[3]; a[0]转载 2016-03-14 16:01:28 · 906 阅读 · 0 评论 -
手链样式( 使用全排列函数next_permutation)
原题:手链样式小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙。 他想用它们串成一圈作为手链,送给女朋友。 现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢?请你提交该整数。不要填写任何多余的内容或说明性的文字。 #include <iostream> #include <cstdio> #include <cstring> #in转载 2016-03-14 16:19:29 · 1339 阅读 · 0 评论 -
锦标赛(n个数中求第一和第二大的数)
如果要在n个数据中挑选出第一大和第二大的数据(要求输出数据所在位置和值),使用什么方法比较的次数最少?我们可以从体育锦标赛中受到启发。如图【1.png】所示,8个选手的锦标赛,先两两捉对比拼,淘汰一半。优胜者再两两比拼…直到决出第一名。第一名输出后,只要对黄色标示的位置重新比赛即可。下面的代码实现了这个算法(假设数据中没有相同值)。代码中需要用一个数组来表示图中的树(注意,这是个满二叉树,不足需要补原创 2016-03-17 16:36:52 · 4216 阅读 · 0 评论 -
史丰收速算
史丰收速算法的革命性贡献是:从高位算起,预测进位。不需要九九表,彻底颠覆了传统手算!速算的核心基础是:1位数乘以多位数的乘法。其中,乘以7是最复杂的,就以它为例。因为,1/7 是个循环小数:0.142857...,如果多位数超过 142857...,就要进1同理,2/7, 3/7, ... 6/7 也都是类似的循环小数,多位数超过 n/7,就要进n下面的程序模拟了史丰收速算法中乘以7的运算过程。乘以原创 2016-03-15 23:57:54 · 3679 阅读 · 0 评论 -
hdu2000
按ASCII码的大小从小到大将输入的字符输出,直接比较即可 hdu2000includeusing namespace std; int main(){ char s[3],temp; while(cin>>s[0]){ cin>>s[1]>>s[2]; for(int i=0;i<3;i++){ for(int j=i+1;j<3;j++){原创 2015-08-02 00:16:19 · 589 阅读 · 0 评论 -
hdu2025
hdu2025 查找最大元素 Problem Description 对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。 Input 输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。 Output 对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个原创 2015-08-02 00:25:57 · 551 阅读 · 0 评论 -
分拆素数和
#include#includeusing namespace std;bool isPrimer(int n){ int m=sqrt(n); int i; for(i=2;i>n&&n){ num=0; for(i=2;i<n/2;i++){ if(isPrimer(i)&&isPrimer(n-i)) num++; } cout<<num<<endl; } }原创 2015-08-10 22:01:12 · 314 阅读 · 0 评论 -
hdu2098分拆素数和
hdu2098 分拆素数和Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 26497 Accepted Submission(s): 11599Problem Description 把一个偶数拆成两个不同素数的和,有几种拆法呢原创 2015-08-11 09:44:20 · 293 阅读 · 0 评论 -
蓝桥杯 历届试题 蚂蚁感冒
算法与数据结构之蓝桥杯 历届试题 蚂蚁感冒原创 2015-04-06 00:18:53 · 420 阅读 · 0 评论 -
计算日期模板
原题: 星系炸弹在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。 有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-原创 2016-03-14 16:16:44 · 465 阅读 · 0 评论