设有3个没有刻度的杯子的容量分别是a,b,c,最初只有第3个杯子装满了c升水,其他两个杯子为空。最少需要倒多少升水才能让某一个杯子中的水有d升。如果无法做到恰好有d升,就让某一个杯子里的水是d’升,其中d’< d,并且尽量接近d。
next_permutation解析
next_permutation是C++的STL中提供的一个库函数,声明在algorithm头文件中,用来求下一个排列。好奇内部是怎么实现的,在Stack Overflow上看到了精彩的回答。
Uva11059-Maximum Product-暴力枚举
输入$n$个元素组成的序列$S$,找出一个乘积最大的连续子序列。如果这个最大的乘积不是正数,输出0。$1 <=n <= 18,-10 <= S_i <= 10$。
Uva725-Division-暴力枚举
求满足$$\frac{abcde}{fghij} = N$$的所有$abcde$ 和 $fghij$的值,其中$2 <= N <= 79。$
刘汝佳老师:即使采用暴力法求解问题,对问题进行一定的分析往往会让算法更简介、高效。
受益匪浅。
Uva12118-Inspetor's Dilemma-DFS求连通+欧拉路
V个城市之间两两相连,给定E条需要走的边,走过一条边需要时间T。求走完所有的E条边需要的最少时间。E条边不一定在一个连通图中。
竟然卡在ifndef ONLINE_JUDGE
上好久,单词ONLINE
手滑打成了ONLIEN
,= =。吐血。
紫书第六章结束
Uva127-Accordian Patience-链表
一副扑克牌(52张),按照从左往右的顺序,若当前扑克牌和它的左一或左三扑克牌的数字或花色相同,就把它移动到那张牌的上方,移动后如果继续满足条件则继续移动。左一和左三同时满足时,左三优先。当有某个位置的牌为空时,要及时把这个位置消除。
实战了一把数组模拟链表,还发现了一个大佬的博客,嚯嚯。收获了感动,坚定了继续坚持下去的信念。