acm
张之海
硕士毕业于东北大学,现就职于北京某猫头鹰公司,大数据工程师职位。
展开
-
全排列问题
源代码: #include #include #include using namespace std; int Count = 0; void perm(char str[], int k, int m) { int i; if(k > m) { for(i = 0; i <= m; i++) cout<<str[i]原创 2015-10-16 20:39:41 · 369 阅读 · 0 评论 -
uva 572 Oil Deposits(油田)—— DFS
/** 序号:num_2 作者:MrZhang 日期:2016-5-19 题目名称:油田 题目来源: uva —— 572 —— Oil Deposits 网址:http://luckycat.kshs.kh.edu.tw/homework/q572.htm 数据样例: 1 1 * 3 5 *@*@* **@** *@*@* 1 8 @@****@* 5 5 ****@ *@@*@ *@**@原创 2016-05-19 17:23:28 · 625 阅读 · 0 评论 -
uva 657 The die in cast (掷骰子) —— DFS
/** 序号:num_3 作者:MrZhang 日期:2016-5-20 题目名称:掷筛子 题目来源: uva —— 657 —— The die is cast 网址: 英文题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=19322 中文翻译:http://www.cnblogs.com/scau20110726/a原创 2016-05-20 12:03:08 · 590 阅读 · 0 评论 -
图的遍历——黑白图像——深度优先搜索(DFS)
/* 序号:num_1 作者: MrZhang 日期: 2016-5-19 题目来源:《算法竞赛入门经典1 —— 6.4图 —— 6.4.1黑白图像 P107》 */ #include #include #define maxn 100 using namespace std; int G[maxn][maxn]; int visited[maxn][maxn]; int row,co原创 2016-05-19 15:44:21 · 873 阅读 · 0 评论 -
uva 532 Dungeon Master —— BFS(求最短路)
附上使用DFS的错误示例,结果正确,但是超时(Time Limited error)。 /** 错误示例: 原理:DFS。 结果:结果是正确的,但是超时(Time limited error)。 */ #include #include #define maxn 31 using namespace std; char G[maxn][maxn][maxn]; int visited[m原创 2016-05-26 15:20:23 · 639 阅读 · 0 评论 -
acm c++ 练习中出现的错误类型
1.cannot convert 'int' to 'time_t(time_t*) throw () {aka long int(long int*) throw ()} 原因:不明。(猜测原因是个人变量名和C++中的某些命名冲突) 解决方法:笔者的程序中曾用到过一个全局变量 (int time)。将"time"改为"_time"皆可以了。原创 2016-05-26 15:06:04 · 1079 阅读 · 0 评论 -
uva 439 Knight Moves(马移动) —— DFS + 剪枝
/** 序号:num_6 作者:MrZhang 日期:2016-5-24 题目名称: Knight Moves(马移动) 题目来源: uva —— 439 —— Knight Moves 网址: 英文题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=19436 -----------------------------原创 2016-05-24 22:13:26 · 559 阅读 · 0 评论 -
HDU 1002 A + B Problem II
个人错误: error:presentation error. 原因:输出应为两行之间为一个空行。最后一行后为一个换行。 原码: #include #include #include using namespace std; int main(){ int T; cin>>T; int id=1; while(id++ <= T){原创 2015-09-25 18:39:38 · 543 阅读 · 0 评论 -
KMP模板
KMP模板 代码解释原创 2015-05-01 01:01:07 · 471 阅读 · 0 评论 -
求一个数的所有约数
#include #include #include #define maxn 100 using namespace std; int yueShu[maxn],length; void approximateNumber(int n){ int i; for(i=1;i*i<n;i++){ if(n%i == 0){ yue原创 2015-10-18 12:36:10 · 6192 阅读 · 1 评论 -
程序设计中的常见概念
约数: 定义:如果a%b == 0,则a是b的倍数,b是a的约数。 范例:在自然数(0和正整数)的范围内,任何正整数都是0的约数。4的正约数有:1、2、4。原创 2015-10-18 11:51:46 · 467 阅读 · 0 评论 -
整数因子分解问题
Problem Description 大于1 的正整数n可以分解为:n=x1*x2*…*xm。 例如,当n=12 时,共有8 种不同的分式: 12=12; 12=6*2; 12=4*3; 12=3*4; 12=3*2*2; 12=2*6; 12=2*3*2; 12=2*2*3。 编程任务: 对于给定的正整数n,编程计算n共有多少种不同的分解式。 Input原创 2015-10-18 11:28:35 · 2694 阅读 · 0 评论 -
众数问题
问题描述: 给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。 例如,S={1,2,2,2,3,5}。 多重集S的众数是2,其重数为3。 对于给定的由n 个自然数组成的多重集S,编程计算S 的众数及其重数。 Input 输入的第1行多重集S中元素个数n;接下来的n 行中,每行有一个自然数,值在整数范围内 Out原创 2015-10-16 18:49:53 · 820 阅读 · 0 评论 -
有重复元素的全排列问题
题目描述: 设R={ r1, r2, ……, rn }是要进行排列的n个元素。其中元素r1 ,r2 ,……,rn可能相同。试设计一个算法,列出R的所有不同排列。 给定n以及待排列的n个元素。计算出这n个元素的所有不同排列。 源代码: #include #include #include #define maxn 500 using namespace s原创 2015-10-16 21:04:43 · 5341 阅读 · 0 评论 -
最多约数问题
问题描述: 正整数x的约数是能整除x的正整数。正整数x 的约数个数记为div(x)。例如,1,2,5,10 都是正整数10 的约数,且div(10)=4。设a 和b 是2 个正整数,a≤b,找出a和b之间约数个数最多的数x。 编程任务: 对于给定的2个正整数a≤b,编程计算a 和 b 之间约数个数最多的数。 数据输入: 输入数据由文件名为input.txt的文本文件提供原创 2015-10-16 16:52:06 · 587 阅读 · 0 评论 -
uva 784 Maze Exploration(迷宫探索) —— DFS
/** 序号:num_4 作者:MrZhang 日期:2016-5-21 题目名称: Maze Exploration(迷宫探索) 题目来源: uva —— 784 —— Maze Exploration 网址: 英文题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18558 中文翻译:(中文为笔者自己个人翻译,几乎一原创 2016-05-21 20:32:50 · 679 阅读 · 0 评论