SGU
lab104_yifan
这个作者很懒,什么都没留下…
展开
-
SGU 106 The equation(拓展欧几里得)
通解形式 然后利用x,y去求出范围,就能得到解的个数 注意特判a和b都为0的情况 代码: #include #include #include #include using namespace std; typedef long long ll; ll a, b, c; double a1, a2, b1, b2; ll exgcd(ll a, ll b, ll &x,原创 2015-04-21 21:06:36 · 535 阅读 · 0 评论 -
SGU 101 Domino(欧拉路径)
0-6作为结点,那么每个骨牌相当于一条无向边了 建图,进行欧拉路径判断, 然后dfs找出路径打印即可 代码: #include #include #include using namespace std; const int N = 7; int n; struct Edge { int u, v, tp, id, vis; Edge() {} Edge原创 2015-04-21 17:12:01 · 645 阅读 · 0 评论 -
SGU 103 Traffic Lights(最短路)
这题不错,是一个最短路,但是中间有一个限制条件,就是等待时间 首先先看一下为什么仍然满足最短路 因为最短路肯定是每个结点求出最早到达的时间,那么其实不管有没等待,从队头取出去转移的肯定是最早的时间,仍然满足转移 那么就是等待时间如何去计算的问题 其实就先写一个函数,获得当前的颜色,和到下一个颜色的时间 然后如果颜色相同就不用等 如果颜色不同,到下一个颜色时间又不同,就返回其中小的时间原创 2015-04-22 10:44:55 · 634 阅读 · 0 评论 -
SGU 108 (空间优化)
这题本来觉得是道没什么的水题,结果没想到空间卡得这么死 于是注意观察式子,发现每个推到后面最多加7 * 9 (7位数,每位是9) 于是就只要开64的空间,利用滚动数组去优化即可 另外还要注意,答案表全打出来也是会MLE的,只能根据输入的k去存放k个答案 代码: #include #include #include using namespace std; int n, k, dp原创 2015-04-22 13:02:01 · 653 阅读 · 0 评论 -
SGU 109 Magic of David Copperfield II(构造)
这题UVA上做过类似题,不过这一题又多了一个条件,就是步数只能在n到300之间 那怎么办呢。 其实多一个构造就可以了,一开始走n步,把右下角整块移除掉,那剩下n条对角线,那最多就只用到299步就可以啦 代码: #include #include #include using namespace std; int n; int main() { while (~scanf(原创 2015-04-27 18:22:59 · 739 阅读 · 0 评论