自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 POJ1007解题报告

#include #include using namespace std;typedef struct DNA{ string s; int value;}DNA;int cmp(const DNA *a,const DNA *b){ return (a->value-b->value);}int main(){ int n,m; while(cin>>n>>

2014-09-09 00:02:58 426

原创 算法导论 chapter 10.1 Page233 Stack push and pop

//***算法导论 chapter 10 Elementary Data Structures***/////Page 233 伪代码转换成代码//Stack push and pop#include #define TRUE 1#define FALSE 0using namespace std;int stack_array[20]={0};//定义一个数组,当做桟来使用

2014-07-18 18:16:39 469

原创 堆排序 Heapsort

/*=============================================================================## FileName: HeapSort.cpp# Desc: 堆排序。数组的序号从1到len,长度为len+1。 ## Author: yulu# Email: 1873737

2014-05-16 16:50:39 609

原创 寻找最大子数组 采用线性的方法

题目来源: 《算法导论》

2014-05-08 21:30:06 1701 3

原创 华为OJ 在字符串中找出连续最长的数字串

第一种算法 O(n*n),时间超时了。不过答案是对的。#include #include #include //#include "oj.h"using namespace std;/* 功能:在字符串中找出连续最长的数字串,并把这个串的长度返回函数原型: unsigned int Continumax(char** pOutputstr, char* intputst

2014-05-08 15:52:41 992

原创 寻找最大和子数组 Find maximum subarrray

问题描述:输入是一个大小为n的整型数组,要求输出数组的任何连续子数组中的最大值。例如:输入的数组为array[10] = {31,-41,59,26,-53,58,97,-93,-23,84};输出最大连续子数组和为array[2...6]:187

2014-05-08 14:09:15 716

原创 华为OJ Home+work

#include "OJ.h" /*输入: nPapers表示试卷的数目(1≤Papers≤20),nRemain表示剩余的时间(1≤nRemain≤10000),paper[][2]是一个Papers*2的数组,每一行的两个元素依次为做完这一份试卷所需的时间、做完这份试卷的价值输出: *pMaxValue为获得的最大价值返回:0:异常1:计算成功返回*/int

2014-05-05 22:58:17 2748

原创 华为OJ 向升序单向链表中插入一个节点

直接替代该函数的代码即可。无需tian'j'aiListNode* InsertNodeToList(ListNode* pListHead, ListNode* pInsertNode){ if(!pListHead || !pInsertNode) return (ListNode *)NULL; ListNode *p=pListHead; //在

2014-05-05 00:59:02 1632

原创 冒泡排序 Bubble Sort

效率比较低,时间复杂度应该是O(

2014-05-01 23:51:42 474 1

原创 结合归并排序和插入排序 Merge with Insertion Sort

对n(2的整数幂个数字进行排序,

2014-05-01 23:31:21 1288

原创 归并排序 Merge sort

时间复杂度 nlogn

2014-05-01 00:29:24 408

原创 线性表的链式存储

/******线性表链式存储******//*来源:《大话数据结构》*/#define OK 1#define ERROR 1typedef int Status;typedef int ElemType; /*线性表的单链表存储结构*/ typedef struct Node{ ElemType data; struct Node *next;}Node;typede

2014-04-08 14:43:55 481

原创 线性表的顺序存储

/******线性表的顺序存储******//*来源:《大话数据结构》*/ #include #define MAXSIZE 10 /*存储空间初始分配*/using namespace std;#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int Status;//线性表的存储结构 ty

2014-04-08 10:16:32 595

原创 POJ2255

……#include#include#includetypedef struct Node{ char ch; struct Node *left; struct Node *right;}Node; char mid[27];char pre[27];int n = -1;void make_tree(int i, int j);int main(vo

2014-02-27 18:27:47 572

原创 POJ3006 解题报告

#include#includeusing namespace std;const int MAX=1000000;bool prime[MAX];int main(){ memset(prime,1,MAX); prime[0]=0; prime[1]=0; for(int i=2;i<MAX;i++) { if(prime[i]) { for(int j=

2014-02-21 20:09:00 506

原创 筛法求素数

#include#includeusing namespace std;const int MAX=1000000;bool prime[MAX];int main(){ memset(prime,1,MAX); prime[0]=0; prime[1]=0; for(int i=2;i<MAX;i++) { if(prime[i]) { for(int j=

2014-02-21 19:58:30 448

原创 POJ1503 解题报告

解题思路:首先将字符串存在char a[]当中,然后将数反转过来,并且转化为int型,存在temp[]中。每次用新的temp与result做加法运算,该进位的要进位。需要注意的是,不能把数组开得太小,以下代码在temp[110], result[110]时就Wrong Answer了,但是改成150就AC了。#include#include#includeusing

2014-02-21 18:51:55 491

原创 POJ1083 解题报告

解题思路:如果一个门前同时有两个桌子经过,则该操作不能同时进行。例如1--4与3--6,则4的门前有两个桌子同时经过,3的门前也同时有两个桌子经过,则该操作不能同时进行。注意,3与4是同一个地方。#includeusing namespace std;int main(){ int TestCases;//The number of test cases.

2014-02-18 21:05:05 564

原创 POJ2739 解题报告

解题思路:1. 构造一个素数表    求1-10000里面的素数,存储在prime[10000]数组当中。我们用boo[i]来记录——如果i为素数,则boo[i]=0;反之,则boo[i]=1。    对于1-10000之间的任意一个数i,如果i能被2~(i的开方)之中的任何一个数字整除,则i不是素数;反之,则i为素数。因此我们用j的循环来判断i是不是素数。    最后,只要判断b

2014-02-11 20:46:28 509

原创 494

#includeint main(){char str[1000];char *s;int n=0,flag=1;while( gets(str)!=NULL ){s=str;while( *s!='\0' ){if( (*s>='A' && *s='a' && *s<='z') ){if( flag==1 ){ n++; flag=0;}}else flag=1;}printf("%d\n",n

2013-11-25 15:34:15 605

原创 《算法竞赛入门经典》第五章 推荐题目 UVaOJ 回文词(401)

尝试了好多次,终于AC了,噢耶!#include #include #define MAXN 50char str[MAXN];int is_pal(char* str){ int n,i,flag=1; n=strlen(str); for(i=0;i<(n/2);i++) { if( str[i]!=str[n-1-i] ) { flag=0; br

2013-08-02 17:38:02 1038 1

原创 《算法竞赛入门经典》第四章小结

题目:编写一个函数solve,给定浮点数a,b,c,d,e,f,求解方程组ax+by=c, dx+ey=f.任务1:使用assert宏,让解不唯一时异常退出。任务2: 解不唯一时仍正常返回,但调用者有办法知道解的数量(无解,唯一解,无穷多组解)。思考:函数的参数都有哪些,各是什么类型?//任务1#include #include double fucx(double a,d

2013-07-24 00:09:53 601

原创 《算法竞赛入门经典》第四章例题4-1 组合数

原来的例子,当m=1,n=20时会溢出,计算错误。修改如下:#include using namespace std;long long f(int n){ int i; long long m=1; for(i=1;i<=n;i++) m*=i; return m;}int main(){ int m,n; cin>>m>>n; cout<<f(n)/(f(

2013-07-22 15:04:09 715

原创 《算法竞赛入门经典》第三章习题3-8

手机键盘(keyboard)#include char a[20];int main(){ int i=0,n=0,b,c; char d; scanf("%s",a); printf("%s\n",a); n=sizeof(a); for(i=0;i<n;i++) { if( a[i]>='a' && a[i]<='o' ) { b=a[i

2013-07-22 14:00:41 680

原创 《算法竞赛入门经典》第三章习题3-7

题目:进制转换2(base2)输入基数b(2#include int main(){ int b,n,m=1,d=0; printf("Enter b and n:\n"); scanf("%d%d",&b,&n); while( n!=0 ) { d+=m*(n%10); n=(n-n%10)/10; m*=b; } printf("%d\n

2013-07-22 13:21:50 708

原创 《算法竞赛入门经典》第三章习题3-6

题目:进制转换1(base1)输入基数b(2运行结果如下#include int main(){ int b,n,t,m=1; printf("Enter b and n:\n"); scanf("%d%d",&b,&n); t=n; while( n/m!=0 ) { m*=b; n=n-n%m; } m=m/b; printf("m=

2013-07-22 11:46:45 683

原创 《算法竞赛入门经典》第三章习题3-5

题目:旋转rotate输入一个n*n字符矩阵,把它旋转90度之后输出。我遇到的问题是:例如输入3*3矩阵,本来输入9个字符就可以了。为什么我必须输入10个字符才可以呢?#include #define MAXN 10char a[MAXN][MAXN];int main(){ int i,j,n=3; for(i=0;i<n;i++) { for(j=0

2013-07-22 10:53:25 589

原创 《算法竞赛入门经典》第三章习题3-4

编译的时候提示有错误,错在哪里了呢?#includeint main(){ char a[20]; int n; gets(a); n=lenth(a); printf("n=%d",n); int i,num1=0,num2=0,flag=0,out; char cal; for(i=0;i<n;i++) {

2013-07-21 21:54:21 737

原创 《算法竞赛入门经典》第三章习题3-1

练习3-1  分数统计       输入一些学生的分数,哪个分数出现的次数最多?如果有多个并列,从小到大输出。       任务1:分数均为不超过100的非负整数。       任务2:分数均为不超过100的非负实数,但最多保留两位小数。//任务1 #include#includeint a[101];int main(){ int i,b,temp,max=0;

2013-06-20 13:32:12 749

原创 《算法竞赛入门经典》第三章习题3-2

3-2     输入若干单词,输出它们的平均长度。单词只包含大写字母和小写字母,用一个或多个空格隔开。//3-2单词的长度 #include#include#define MAXN 1000char a[MAXN];int main(){ char ch; int i=0,j=0,m=0,n=0; while(1) { scanf("%c",&ch); if(

2013-06-20 13:28:11 936

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除