上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要: 与修路的那个题一样,只不过是需要将青蛙每次跳的重新存到数组里面。 青蛙过河Time Limit: 1000 MSMemory Limit: 65536 KTotal Submit: 14(10 users)Total Accepted: 11(10 users)Rating:Special Judge:NoDescription青蛙王国一年一度的游戏又开始了,这个游戏要求青蛙必须跳过河。河的宽度是L。河里有n块石头,这n块石头从河的一边笔直的连到另一边。青蛙只能踩着石头过河,如果它们掉... 阅读全文
posted @ 2012-12-07 18:58 尔滨之夏 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 动态规划的关键就是找到状态转移方程。本题的当前状态有三种情况,map[i-1][j], map[i][j-1], 以及行上能被改行整除的,判断一下就行。写的有点复杂了,还可以再优化的。 圈套Time Limit: 1000 MSMemory Limit: 32768 KTotal Submit: 5(4 users)Total Accepted: 5(4 users)Rating:Special Judge:NoDescriptionWd在回答了使者的问题之后,使者告诉他... 阅读全文
posted @ 2012-12-07 12:11 尔滨之夏 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 刚开始看这道题时感觉有很多的嵌套,(试了其他的方法不行后来才决定用递归)那就是递归了。本题关键是找到递归的关键点。由于当遇到“()”时"()"里面很可能还有“()”说明“()”这个括号有文章。对就是在“(”这个地方递归。以前递归只接触过数学方面的和深搜一类的,这种类型的递归还没想过,看来学一样东西还是要灵活的用,而灵活的用只能是多做题了。 1 #include<stdio.h> 2 #include<string.h> 3 4 void Change(int left, int right, char p[])//递归函数 5 { 6 for (in 阅读全文
posted @ 2012-12-06 12:24 尔滨之夏 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 给定一个无序的数列,由32位整数组成的,序列长度可达500000,现在通过不断的两两交换,把这个序列排成由小到大的有序序列,问交换的次数是多少。 1 #include<stdio.h> 2 #include<stdlib.h> 3 #define NN 500005 4 5 int a[NN]; 6 __int64 count; 7 8 void Merge(int data[], int l, int m, int r) 9 {10 int i = l;11 int j = m + 1;12 int k = 0;13 int *pd;14 pd =... 阅读全文
posted @ 2012-11-15 19:59 尔滨之夏 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 1 #include<stdio.h> 2 #include<stdlib.h> 3 #define MAX 1000010 4 5 int g_a[MAX]; 6 7 int pasition(int number[], int len, int left, int right) 8 { 9 int i = left;10 int j = right;11 number[0] = number[i];12 while (i < j)13 {14 while (i<j && number[j]>number[0])15 ... 阅读全文
posted @ 2012-11-15 18:49 尔滨之夏 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 1 #include<stdio.h> 2 #include<stdlib.h> 3 typedef struct Node 4 { 5 int data; 6 struct Node *next; 7 }CLNode; 8 void DeleCL(CLNode *lhead, int m) 9 {10 int i = 1;11 CLNode *p = lhead;12 CLNode *q = lhead;13 while (p != NULL)14 {15 if (i == m)16 {17 ... 阅读全文
posted @ 2012-11-12 18:42 尔滨之夏 阅读(269) 评论(0) 推荐(0) 编辑
摘要: Description输入n个整数,先按照数据输入的顺序建立一个带头结点的单链表,再输入一个数据m,将单链表中的值为m的结点全部删除。分别输出建立的初始单链表和完成删除后的单链表。Input第一行输入数据个数n;第二行依次输入n个整数;第三行输入欲删除数据m。Output第一行输出原始单链表的长度;第二行依次输出原始单链表的数据;第三行输出完成删除后的单链表长度;第四行依次输出完成删除后的单链表数据。Sample Input10562512336654712331212Sample Output10562512336654712331275625336654733 1 #include< 阅读全文
posted @ 2012-11-12 18:41 尔滨之夏 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 分两个栈,一个存运算符号,另一个存数字;判断符号的优先级,再进行计算。 表达式计算Time Limit: 1000 MSMemory Limit: 10240 KTotal Submit: 1(1 users)Total Accepted: 1(1 users)Special Judge:NoDescription输入一个中缀表达式,要求输出计算的结果,保留到小数点后4为位。表达式中的数均为非负数,可能为小数,不会出现-2,+2的情况,就是说不会有 1 + - 2、1 * -2、2*+2这样的情况。数字为整数或者带小数的形式... 阅读全文
posted @ 2012-11-05 20:26 尔滨之夏 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 题意为恐怖分子要炸理工,但是要把炸弹连接起来,那样才放便作案。问怎么样才能用最短的线把炸弹都连接起来。用到最小生成树的算法。prim 算法:任意找一点A为树,以这个点为起点找离它最近的点的距离设为点B,再把B加入树,以(A,B)为整体,找离她们两个最近的距离设为点C ,把C也加入到树中。依次类推。Kruskal 算法:先对所有距离从小到大排列,由小到大依次找,如果前面的距离是当前距离的一个集合(也就是当前的距离是否包括前面多了距离),不包括了加入到距离中,否则不加; 1 /*#include<stdio.h>//kruskal算法实现 2 #include<stdlib.h& 阅读全文
posted @ 2012-11-02 21:10 尔滨之夏 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 用二分法进行分配。假设 mid 就为所求的最小时间。修路Time Limit: 1000 MSMemory Limit: 65536 KTotal Submit: 72(28 users)Total Accepted: 37(25 users)Special Judge:NoDescription前段时间,某省发生干旱,B山区的居民缺乏生活用水,现在需要从A城市修一条通往B山区的路。假设有A城市通往B山区的路由m条连续的路段组成,现在将这m条路段承包给n个工程队(n≤m≤ 300)。为了修路的便利,每个工程队只能分配到连续的若干条路段(当然也可能只分配到一条路段或未分配到路段)。假设每个工程队 阅读全文
posted @ 2012-10-25 19:00 尔滨之夏 阅读(690) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 9 下一页