
POJ
文章平均质量分 78
非著名de
这个作者很懒,什么都没留下…
展开
-
POJ NO.2386 Lake Counting(算水洼)
问题描述:题意:给你一个row*col的矩阵表示一块田地,上面的'W'代表积水,'.'表示干地,问这块田地里面的积水能汇聚成几片水洼。题目链接:点击打开链接思路:从任意的‘W’开始,不停地把邻接的部分用‘.’代替。1次DFS后与初始的这个W连接的所有W就都被替换成了‘.’,因此知道途中不再存在W为止,总共进行的DFS次数就是答案。----《挑战程序设计》上代码:#include#原创 2016-01-19 17:24:39 · 2662 阅读 · 0 评论 -
POJ NO.2367 Genealogical tree(简单拓扑排序,典例)
问题描述:给出顺序关系让你排除先后,即简单地拓扑排序。图的存储用链式前向星。原题描述:DescriptionThe system of Martians' blood relations is confusing enough. Actually, Martians bud when they want and where they want. They g原创 2016-04-16 13:57:06 · 523 阅读 · 0 评论 -
POJ NO.3187 Backward Digit Sums(DFS)
问题描述:给出n,sum。类似于杨辉三角,让你求出最顶尖为sum的第n层所有元素。注意:答案有多种的按照字典序较小的那个输出。题目链接:点击打开链接代码:#include#include#include#include#include#include#define INF 0x3f3f3f3f#define MAX 30000using namespace std原创 2016-01-28 18:59:17 · 305 阅读 · 0 评论 -
POJ NO.2251 Dungeon Master(BFS,三维迷宫)
问题描述:给你一个三维地牢,‘.’代表可以走的点,‘#’代表不可走的点,‘S’代表开始点,‘E’代表结束点。问从‘S’开始能不能走出地牢,能的话要用多长时间,不能输出不能,输入输出见原题目。题目链接:POJ NO.2251思路:多了一个方向,其他和普通bfs一样。代码:#include#include#include#include#include#include原创 2016-02-21 15:14:15 · 481 阅读 · 0 评论 -
POJ NO.3069 Saruman's Army(经典贪心)
问题描述:直线上有N个点。点 i 的位置是Xi。从这N个点中选择若干个,给它们加上标记。对每一个点,其距离为R以内的区域里必须有带有标记的点(自身带有标记的点,可可以认为与其距离为0的地方有一个带有标记的点)。让你求至要标记多少个点。题目链接:点击打开链接思路:从最左端开始,我们找到距离这个点R以内的最右端的点。如此循环...代码:#include#include#in原创 2016-02-03 15:29:09 · 291 阅读 · 0 评论 -
POJ NO.1979 Red and Black(DPS,搬黑砖,,,)
问题描述:一个广场由黑砖和红砖组成,给你一个起点看你(起点算是黑砖)能办多少黑砖。题目链接:点击打开链接思路:问题转换 ----> 把所有能到达的 ‘ . ’(黑砖)全换成某个字符(如‘ e ’);先找到起点,题目中没给出需要自己遍历数组找到,然后以此为起点,进行替换(把‘ . ’换成‘ e ’要用到DFS);最后再遍历数组计算出所有的‘ e ’的个数即可。代码原创 2016-01-21 17:42:17 · 422 阅读 · 0 评论 -
POJ NO.3669 Meteor Shower(经典BPS,,,)
问题描述:给你一个整数M表示流行的个数,然后给你M组数据每组包含3个整数,分别表示坐标和降落的时间。题目链接:点击打开链接思路:先把时间都标记好,在跑一遍BFS即可。注意:走过的点不能再走!!!还要注意时间,这种解法很费时所以将输入输出流换成了scanf,,,,,代码:#include#include#include#include#define INF 0x3原创 2016-01-22 21:36:57 · 362 阅读 · 0 评论 -
POJ NO.3984 迷宫问题(BFS,保存路径)
问题描述:给你一个矩阵,问你从左上角走到右下角最短路径。题目链接:POJ NO.3984代码:#include#include#include#include#include#include#include#include#include#include#include#define INF 0x3f3f3f3f#define PI 3.1415926#d原创 2016-02-21 15:20:57 · 622 阅读 · 0 评论 -
POJ NO.1182 食物链(并查集,带权并查集最优解,没有之一)
问题描述:动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是"1 X Y",表示X和Y是同类。 第二种说法是"2 X Y",表示X吃Y。 此人对N个动物,用上述两种说法原创 2016-02-23 20:29:07 · 322 阅读 · 0 评论 -
POJ NO.2063 Investment(完全背包,典例)
问题描述:给你一笔金额,你要将这比金额去投资,现在有t种股票,每种股票都有一个价值和年收益,问你如何投资在n年后的最大收益。每一年投资后都要以利润连同本金继续投资下一年。测试数据: 1 //有多少组测试数据 10000 4 //10000代表初始金额,4代表4年之后的最大收益 2 //有两种股票 4000 400 //接下来2行,每行分别代表每种原创 2016-03-05 09:54:30 · 523 阅读 · 0 评论 -
POJ NO.1014 Dividing(多重背包,典例)
问题描述:有分别价值为1,2,3,4,5,6的6种物品,输入6个数字,表示相应价值的物品的数量,问一下能不能将物品分成两份,是两份的总价值相等,其中一个物品不能切开,只能分给其中的某一方,当输入六个0是(即没有物品了),这程序结束,总物品的总个数不超过20000题目链接:POJ NO.1014思路:一道很经典的多重背包题目。如果价值总和为奇数那么不可能平分,直接输出Can'原创 2016-03-05 14:59:02 · 333 阅读 · 0 评论 -
POJ NO.3050 Hopscotch(DFS,set)
问题描述:给你一个5 * 5的矩阵,从某点出发(出发点可以回去),移动6次(上下左右皆可移动)。问通过移动6次总共可以构成多少个不同的串。题目链接:POJ NO.3050思路:把每个点都跑一遍DFS, 然后把移动6次后的数存进序列。用到了set,很简单。代码:#include#include#include#include#include#include#i原创 2016-02-17 19:43:24 · 250 阅读 · 0 评论 -
POJ NO.2376 Cleaning Shifts(贪心,区间重叠)
问题描述:给出S,T两个整数,让你在给出的S个闭区间内找到最少的几个闭区间,能够将[1,T]这个区间给覆盖。涉及到区间重叠问题。题目链接:点击打开链接思路:用pair类型的数组存储区间端点值,然后进行以first排序(从小到大)。以p = 1为初始值,找到包含1的最长的区间,然后以此区间的second为p,重复以上步骤。代码:(注意,代码中将S,T两个值给颠倒了,,,汗原创 2016-01-27 20:32:32 · 356 阅读 · 0 评论 -
POJ NO.2718 Smallest Difference(DFS)
问题描述:给你一些整数(0,1,2,......,9)个数大于等于2小于等于10,它们互相组合算绝对值,让你求出最小的绝对值!注意:1. 0---9这是个数每个最多出现一次2. 不存在前导0的情况题目链接:点击打开链接思路:假设长度为n那么只有两个数长度相等(或者长度差为1)时最小,我们就可以枚举出n/2个元素,再把剩下的组合找出来作差比较即可。代码:#原创 2016-01-25 20:11:26 · 367 阅读 · 1 评论 -
POJ NO.1852 Ants
思路:1.最短时间每只蚂蚁都朝着最近的一端爬,这样每只蚂蚁都不会相遇,时间为最短,最后一只蚂蚁掉下去的时间为最短时间。2.最长时间假设每只蚂蚁相遇后不调转方向,而是无视相遇继续向前爬,这样最后一个蚂蚁掉下去的时间就是最长时间。#include#includeusing namespace std;int MAX = 100001;int main(){原创 2016-01-07 11:16:14 · 430 阅读 · 0 评论 -
POJ NO.3617 Best Cow Line(字典序最小问题)
问题描述:给你一个长度为N的字符串S,让你按照字典序排序。注意,输出时每80个字符就要换行!!!题目链接:点击打开链接思路:比较S开头和末尾(以“ABCDEF”为例‘A’为开头,‘F’为末尾)的字符的大小,将小的排在第一位,以后的每个字符都要排在其后面。如果遇到开头和末尾相等的情况就要比较下一位的大小(开头的后一位,末尾的前一位)。代码:#include#incl原创 2016-01-24 14:58:54 · 451 阅读 · 0 评论 -
POJ NO.1041 John's trip(字典序输出欧拉回路)
题意:John买了新车,想开车去拜访他的朋友,已知每条街道上都恰巧有他的一个朋友,所以他想穿过每条街道一次并且回到起点。城镇上街道总数不超过1995,节点总数不超过44,任意一个节点所关联的街道总数不超过44,每一条街道所关联的两个节点都不同,每条街道的编号也不同。起点是第一次输入的两个节点中较小的那个。若存在多条回路,输出字典序最小的。思路:输入比较奇葩,题目中要求多种存在多种回路时原创 2016-04-21 16:26:54 · 542 阅读 · 0 评论