摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2181题意:就是让你求哈密尔顿环,并输出所有可能的路径。思路:用一个数组path[N]来保存路径,然后暴搜就可以了,不过回退的时候,visited[i]应该置为0。View Code 1 #include<iostream> 2 const int N=20; 3 using namespace std; 4 int map[N+1][N+1]; 5 int visited[N+1]; 6 int path[N+1]; 7 int m,_count=1; 8 9 void Initiat 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2117题意:问1/n的小数点后第m位是多少。高精度除法。直接上代码了:View Code 1 #include 2 using namespace std; 3 4 int solve(int n,int m){ 5 int divided=1,res=0; 6 for(int i=0;i<=m;i++){ 7 res=divided/n; 8 divided=10*(divided%n); 9 }10 return res;11 ... 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2119题意很好理解,就是每次可以删除一行或者一列数,问最少几次可以把所有的1都变成0,也就是都删完。用二分图表示,行代表二分图的一部分,列代表二分图的一部分,map[i][j]==1代表连一条边,这样就转化为求最小顶点覆盖,即求二分图的最大匹配(边数最多的匹配,即把尽可能多的边与某一个顶点相关联,这样选择全部的边所需要的最少顶点就是最小顶点覆盖)。此外,二分图还有最小路径覆盖,意思是用最少的边把图中所有的顶点都遍历到(最小路径覆盖 = 顶点数 - 最大匹配)。View Code 1 #includ. 阅读全文