摘要:
#include #define MAXM 110#define MAXN 110char mat[MAXM][MAXN];int vis[MAXM][MAXN];int n, m;void dfs(int i, int j){ int dx, dy; int nx, ny; vis[i][j] = 1; mat[i][j] = '*'; for( dx = -1; dx =0 && nx=0 && ny<n && (!vis[nx][ny]) && (mat[nx][ny]=='@')) { 阅读全文
摘要:
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1241 经典深度优先遍历!#include #define MAXN 110#define MAXM 110int n, m;char field[MAXN][MAXM];void dfs(int i, int j){ int dx, dy; int nx, ny; field[i][j] = '*'; for( dx = -1; dx =0 && nx=0 && ny<n && field[nx][ny]=='@ 阅读全文
摘要:
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=2047 题目描述: 有一个有字符E、O、F组成,长度为n的字符串,字符可重复,但是不能出现字符O与O相邻的情况, 给定字符长度n,问符合要求的字符串总共有多少种? 解题思路: 设长度为n符合要求的字符串种数为f(n),这其中可分为两类:一类是以E或者F结尾的,另一类是以O结尾的。以E或者F结尾、长度为n、符合要求的字符串来源于以三种字符中的任何字符结尾长度为n-1符合要求的字符串后加一个字符E或者F,这样第一类的种数就是 f(n-1)*2;而以字符O结尾、长度为... 阅读全文
摘要:
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=2048 话不多说,http://blog.sina.com.cn/s/blog_69fc13c50100lamw.html概念: 全错位排列,n个物质,重新排列顺序,使其均不在原位。历史: 被著名数学家欧拉(Leonhard Euler,1707-1783)称为“组合数论的一个妙题”的“装错信封问题”的两个特例. “装错信封问题”是由当时最有名的数学家约翰·伯努利(Johann Bernoulli,1667-1748)的儿子丹尼尔·伯努利(DanidBernoulli,1700 阅读全文
摘要:
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=2048 这个题目需要用到递归的思想,这应该也算是一个经典问题!对于这道题的分析,我认为这哥们写的很不错,地址如下: http://blog.sina.com.cn/s/blog_8a24b3a3010104d7.html#commonComment 还有一个小插曲: 这个题目的此时样例在n >= 10的时候,输出结果都是36.79%。。。。刚看到这个问题时,我还以为是我程序写错了呢,这也耽误了不少功夫!我的代码: #includedouble fac(int n){ doub... 阅读全文
摘要:
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=2544 原来用dijkstra算法提交过,这是用floyd_warshall算法写的! #include #define INF 1000000#define MAXN 110int d[MAXN][MAXN];int main(){ int n, m, i, j, k; int temp; while( (scanf("%d%d", &n, &m)!= EOF) && n && m ) { for( i = 1; i temp 阅读全文
摘要:
dijkstra算法的使用 阅读全文
摘要:
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3790 没什么太大的感觉,只是觉得进步是一个过于缓慢的感觉…… dijkstra算法的应用,注意可重边的处理以及同等权值的路径时,路径的选择#include #define MAXN 1010#define INF 1000000000int mat[MAXN][MAXN];int bb[MAXN][MAXN];int min[MAXN];int pre[MAXN];int com(int m, int s, int a, int b){ int path1[MAXN], path2[MAX... 阅读全文