摘要:
题目地址。解题报告:欧拉回路:图G,若存在一条路,经过G中每条边有且仅有一次,称这条路为欧拉路,如果存在一条回路经过G每条边有且仅有一次,称这条回路为欧拉回路。具有欧拉回路的图成为欧拉图。判断欧拉路是否存在的方法有向图:图连通,有一个顶点出度大入度1,有一个顶点入度大出度1,其余都是出度=入度。无向图:图连通,只有两个顶点是奇数度,其余都是偶数度的。判断欧拉回路是否存在的方法有向图:图连通,所有的顶点出度=入度。无向图:图连通,所有顶点都是偶数度。本题呢。先用并查集查看共有几棵树, 记录下每棵树中度为奇数的点的个数。 如果该树中度为奇数的点的个数为0, 且代表元的度为0,证明该点为孤立的点,按 阅读全文
posted @ 2013-02-22 21:35
Still_Raining
阅读(271)
评论(0)
推荐(0)
摘要:
之前总结过一次。详见本博客或者是另一篇。不过呢。写起来。还是今天的简单易写(学长教的)。测试数据my.txt.邻接矩阵:#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAXN 100const int INF = (1<<23);int G[MAXN][MAXN];int main(){ //freopen("d:\\my.txt", "r", stdin); int n, m, i, j, u, v, w; scanf(&q 阅读全文
posted @ 2013-02-22 10:37
Still_Raining
阅读(1271)
评论(0)
推荐(0)
摘要:
摘自百度百科:设两数为a、b(b<a),用gcd(a,b)表示a,b的最大公约数,r=a mod b 为a除以b以后的余数,k为a除以b的商,即a÷b=k.......r。辗转相除法即是要证明gcd(a,b)=gcd(b,r)。第一步:令c=gcd(a,b),则设a=mc,b=nc第二步:根据前提可知r =a-kb=mc-knc=(m-kn)c第三步:根据第二步结果可知c也是r的因数第四步:可以断定m-kn与n互素【否则,可设m-kn=xd,n=yd,(d>1),则m=kn+xd=kyd+xd=(ky+x)d,则a=mc=(ky+x)dc,b=nc=ycd,故a与b最大公 阅读全文
posted @ 2013-02-22 08:37
Still_Raining
阅读(260)
评论(0)
推荐(0)
浙公网安备 33010602011771号