1. 交换两个数值
x, y = y, x; //等价于 x = y, y =x;
2. 变量初始化问题
a, b, c = 0;
print(a,b,c); --> 0 nil nil
仅对第一个值复制,所以要初始化一组变量,应该提供多个初始值
a, b, c = 0, 0, 0;
print(a, b, c); --> 0 0 0
3. "尽可能...
分类:
其他好文 时间:
2014-05-10 10:17:39
阅读次数:
272
题意:坐飞机从 a 地到 b 地 ,在最多停留s次时 , 最小花费是多少?
在题目给出的地点 , 是按从远到近给出的 , 并且给出的航班中 , 不会有从远地点到近地点的航班。
因此从这可以看出 , 题目给的图是一个DAG图 , 那么我们就能用toposort来找最短路。
注意: 会有重边
解法:
构造一个数组 d[i][j] , 表示从开始点 s 到点 i...
分类:
其他好文 时间:
2014-05-10 08:51:56
阅读次数:
391
题意:
给你ABCD四个集合,集合中数的个数都为N(N
当然你可以尝试枚举所有的组合,绝对可以计算出结果,大概有N^4种吧,如果你有足够的时间还是可以算出来的,哈哈。
当然我不是用上面一种方法计算的,那样算肯定超时。 我的做法是求出所有a+b 到ab数组中, 和所有 c+d到cd数组中,然后排序,枚举每个ab,用二分在cd中查找有没有可能组成0。 有个问题就...
分类:
其他好文 时间:
2014-05-10 08:40:14
阅读次数:
278
题目大意:
有一种猜数字的游戏,你有G次机会以及L点生命值,游戏首先给定一个范围1~N,你要来猜在此范围内的一个数字X。你的每次猜测都会告诉你是猜高了还是低了,每次猜测都要损失一次猜测机会(即G--),但如果你猜的值比X高了,那么同时还要损失一点生命值(L--)。
现在主办人面临一个问题:若给定的范围太大,就有很有可能导致参赛者用尽机会和生命值也猜不到这个X;而范围太小的话又降低了趣味性。所以,需要你来帮忙,根据给定的G和L来确定一个尽量大的范围,同时确保该范围内的所有数字都是一定可以被猜到的。...
分类:
其他好文 时间:
2014-05-07 08:27:26
阅读次数:
387
数据结构实验之二叉树的建立与遍历
题目描述
已知一个按先序序列输入的字符序列,如abc,,de,g,,f,,,(其中逗号表示空节点)。请建立二叉树并按中序和后序方式遍历二叉树,最后求出叶子节点个数和二叉树深度。
输入
输入一个长度小于50个字符的字符串。
输出
输出共有4行:
第1行输出中序遍历序列;
第2行输出后序遍历序列;
第3行输出叶子节点个数;...
分类:
其他好文 时间:
2014-05-07 08:14:44
阅读次数:
357
简直没法吐槽华为的服务器质量了,登一次半小时,提交一次等半小时,然后第二个题的结果还不知道呢,服务器就挂了。。。
题目本身倒是还挺简单的。
A题是鸡兔同笼问题:
给出鸡和兔子的头数和脚数(可能不对),让你判断鸡的个数和兔子的个数。。小学经典问题。
关键是不合法的情况,总共有4种。
1、头比脚多。。
2、脚是奇数= =
3、脚>4*头或者脚
so.出来了。
#include
#i...
分类:
其他好文 时间:
2014-05-07 08:12:04
阅读次数:
289
本文的主要参考来源来自于:C++
Primer 中文版(第 5 版) 第 57 面至第 58 面
1. 顶层 const 与底层 const 概念
我们知道,指针本身是一个对象,因为,指针实际对应着内存单元的一段存储空间,然而,指针所指向的也是一个数据对象,因此,指针是一个常量与指针所指向的是一个常量是两个完全不同的概念, 顶层
const 表示的是 指针本身是一个常量, 底层...
分类:
编程语言 时间:
2014-05-07 08:02:38
阅读次数:
373
题目链接:uva 12105 - Bigger is Better
题目大意:有n根火柴,要组成一个数字能够整除m,并且最大。
解题思路:dp[i][j]表示用了i个火柴,组成的数字模掉m余j的情况,只不过状态保留的是字符串。
#include
#include
#include
#include
using namespace std;
const int...
分类:
其他好文 时间:
2014-05-07 07:59:52
阅读次数:
314
找出一个数组中的三个数,三个数不能组成三角形。
三个数不能组成三角形的条件是:a + b
两边和小于第三边。
这个问题属于三个数的组合问题了。暴力法可解,但是时间效率就是O(n*n*n)了,很慢。
不过既然是组合问题就必定可以使用排序后处理的方法降低时间效率的。
这里降低时间效率的方法是:
选一个最大的数c,然后选两个小数a和b,其中a
这样可以把时间效率降到O(n*n)...
分类:
其他好文 时间:
2014-05-07 06:32:23
阅读次数:
289
这道题思路不难,本质就是BFS嘛,从一个单词开始,他的下一层是所有可以一步变到,且从来没变到过得那些string。问题是怎样确定这些可以变到的string呢?有两个条件,一,只能通过上一层的string变化一个数字得到,二,变化之后单词必须在字典中。注意是变化一个字母得到,而不是编辑距离是1,要么就复杂了,情况多了好多好多。
我最开始的思路是建个map,保存所有从开始单词能变化到得单词及这些单词...
分类:
其他好文 时间:
2014-05-07 06:18:46
阅读次数:
276