ACM之路
Wasdns_23
云上有海
展开
-
实现Random函数
实现Random函数 一个比较经常在程序设计竞赛使用的函数(用来骗某些点的分数)。原创 2016-04-07 21:19:47 · 488 阅读 · 0 评论 -
深度优先搜索初尝试-DFS-LakeCounting POJ No.2386
DFS入门的一道经典题目:LakeCounting用栈或队列来实现:#include#include#include#includeusing namespace std;int n,m;int pla[10][3]={{1,0},{1,1},{1,-1},{-1,-1},{-1,0},{-1,1},{0,-1},{0,1}};//对坐标进行移动的向量struct place原创 2016-03-19 14:00:39 · 274 阅读 · 0 评论 -
hdoj-2053-Switch Game
Switch Game题目:switch game题目大意:在一条街上有好多灯,第i次操作调整第ki盏灯(即是i的倍数),即原来灯是关(0)的调为开的(1),或者原来灯是开的调为关的。输入一个整数n,判断第n盏灯在经过无数次操作以后,它的亮暗情况(0/1)。解题方法1: 无数次操作只有前n次对第n盏灯有效,那么我用一个循环的嵌套即可以解决问题:最外围的for循环代表遍历第i盏灯(i原创 2016-03-19 14:00:33 · 268 阅读 · 0 评论 -
hdoj-2039-三角形
分享一道很有价值的题目。题目:三角形代码:#includeint main(){ int n,i,j; double a,b,c; scanf("%d",&n); for(i=1;in;i++) { scanf("%lf%lf%lf",&a,&b,&c); if(a+b>c && a+c>b &&原创 2016-03-19 14:00:10 · 193 阅读 · 0 评论 -
hdoj-2035-人见人爱a^b
题目:人见人爱a^b代码:(其实很简单)#includeint main(){ int a,b,t=0,i,j; while(scanf("%d%d",&a,&b)!=EOF) { if(a==0 && b==0)break; for(i=2,t=a;ib;i++) { if(t*a>=1000原创 2016-03-19 14:00:05 · 215 阅读 · 0 评论 -
hdoj-2028-Lowest common multiple plus
题目:Lowest common multiple plus代码:#includeint common(int a,int b)//计算最大公约数{ int c=a%b,t=0; if(b>a) { t=b; b=a; a=t; } while(a%b!=0) { c=a%b;原创 2016-03-19 13:59:59 · 213 阅读 · 0 评论 -
hdoj上的一题和程序设计第二次作业的拓展-人见人爱a+b
hdoj上一道有意思的题目,题目:人见人爱a+b敲的也蛮快的,大概十分钟左右就AC了。代码如下:人见人爱a+b#includeint main(){ int n,i,j,a1,a2,a3,b1,b2,b3,c1=0,c2=0,c3=0;//c1记录小时,c2记录分钟,c3记录秒; scanf("%d",&n); for(i=1;in;i++) {原创 2016-03-19 13:59:53 · 323 阅读 · 0 评论 -
高精度 a*b的实现
在fzu校赛结束之后,我反思了一下自己这两个月的得失,感觉自己虽然投入较多,但是效率和收获的东西太少,之前一直在刷水题来巩固C的基础,这个阶段有喜悦有难过,但更多的是成长。 接下来的学习和主要的重心我打算放在算法的学习和C++的学习上,虽然我可能确实技不如人,但是,为什么要一直去关注别人是否比自己优秀呢?原创 2016-04-26 11:02:08 · 1069 阅读 · 0 评论 -
hdoj-1005-Number Sequences
题目:Number Sequences代码:#include#include#include#includeusing namespace std;int Ns[100];int main(){ int n,a,b,i; while(scanf("%d%d%d",&a,&b,&n)!=EOF) { if(a==0 && b==0 && n=原创 2016-03-19 14:02:07 · 249 阅读 · 0 评论 -
高精度 a±b的实现
高精度a±b的实现。2016/4/26原创 2016-04-26 12:18:05 · 422 阅读 · 0 评论 -
快速幂算法初尝试
做到了一道求等比数列第n项对10000000007取余的题目,了解了这个算法。 PowerMod: 求a^b%c原创 2016-04-10 22:07:44 · 346 阅读 · 0 评论 -
简单二叉树的层次遍历
简单二叉树的层次遍历题目: 例:输入一棵二叉树,你的任务是按从上到下,从左到右的顺序输出每一个节点的值。 每个节点都按照从根节点到它的移动序列给出(L表示左,R表示右)。 在输入中,每个节点的左括号和右括号之间没有空格,相邻节点之间用一个空格隔开。 每课树的输入用一对空括号“()”结束(这对括号本身不代表任何节点)。原创 2016-04-11 20:38:59 · 670 阅读 · 0 评论 -
简单二分
二分是一个比较基础的算法,花了一点时间实现了它。 简单介绍一下题目的要求,输入一个整数n,然后输入n个数,再输入你要查找的数,判断一下是否在这些数里面,在的话输出Yes,否则输出No。原创 2016-04-26 23:27:52 · 292 阅读 · 0 评论 -
约瑟夫问题(杀人游戏)
接触到此类问题是在上个学期,当时尚未了解到取模的技巧所以感觉挺难的。现在的自己思考半个小时不到就能解出答案,蛮感慨的。原创 2016-04-17 12:26:38 · 1611 阅读 · 0 评论 -
hdoj-2524-矩形a+b
题目: 矩形a+b长m,宽n。 这是一题数学题,大概的思路就是总的矩形数=(1+2+···+m)x(1+2+···+n)原创 2016-04-17 12:32:18 · 250 阅读 · 0 评论 -
hdoj-2098-分拆素数和
题目:分拆素数和一道想办法省时间的题目。代码:#include#includeint inv(int n){ int i,t=1; for(i=2;isqrt(n);i++) { if(n%i==0) { t=0; break; } } re原创 2016-03-19 14:00:43 · 266 阅读 · 0 评论 -
深度优先搜索之小z的房子与验证码识别
题目:小z的房子高级语言程序设计实践题目:2.4 小z 的房子★实验任务小z 通过自己的努力,终于发家致富。现在小明有一个大小为N*M 的院子,雨后积起了水。四联通的积水被认为是连接在一起的。请你帮小z 计算出院子里有多少水洼。1 代表积水,0 代表没有积水。(四联通指下面图中下对1 的部分) * *1* *★数据输入输入数据共两行。第一行为一个整数N原创 2016-03-19 14:00:49 · 264 阅读 · 0 评论 -
hdoj-2089-不要62
题目:不要62代码1:(TLE)#include#includeint main(){ int n,m,i,j,t=0; int a,b,sum=0,k=0; while(scanf("%d%d",&n,&m)!=EOF) { if(n==0 && m==0)break; for(i=n;im;i++) {原创 2016-03-19 14:00:55 · 215 阅读 · 0 评论 -
列举一些有所帮助的blog和文章
w3schoolhdojimoocCSDNGithubmyGithubCmdMarkdown一直在路上——记我从初中到本科近十年的学习成长历程 作者:周见智C++中队列的建立与操作详细解析Git教程 作者:廖雪峰C++字符串详解C++ 排序函数 sort(),qsort()的用法 作者:zzzmmmkkk数据结构图文解析之:栈的简介及C++模板实现 作者:melon原创 2016-03-19 14:00:16 · 176 阅读 · 0 评论 -
高精度N的阶乘-N!
题目:输入一个正整数N(0代码:#include#include#include#includeusing namespace std;int a[2005]={0};int main(){ int n,i,j,t=0,sum=0,b=0;//t represent carry bit cin>>n; a[1]=1; for(i=2;i原创 2016-03-19 14:00:23 · 277 阅读 · 0 评论 -
简单数论
参考:《挑战程序设计竞赛》1.辗转相除法 --- gcd和lcm代码:#include#include#includeusing namespace std;//===================////int 类型函数gcd://计算最大公约数。//方法:辗转相除。 //===================// int gcd(int a,int b) //gcd原创 2016-03-19 14:01:52 · 244 阅读 · 0 评论 -
Hdoj-1563-Find your present!
题目:Find your present!本题有多种做法。我刚刚开始所选用的方法略为暴力,定义一个数组,直接在输入编号的过程中,把其对应数组下标的数组元素++。原创 2016-04-08 13:06:14 · 278 阅读 · 0 评论 -
深度优先搜索 和问题 简单函数递归 “加 还是不加”
Foj 1106题目:Sum of Factorials代码:#include#include#include#includeint n;int store[11]={1,1,2,6,24,120,720,5040,40320,362880};bool dfs(int i,int sum)//9个节点 每个节点两个状态 { if(i==10)return sum==n;原创 2016-03-19 14:02:11 · 237 阅读 · 0 评论 -
贪心算法-Best cow line-字典序问题
代码:#include#include#include#includeusing namespace std;char input[2005];int main(){ int n; int i,j; while(scanf("%d",&n)!=EOF) { int lbit=0,rbit=n-1;//左边的位:lbit 右边的位:r原创 2016-03-19 14:02:17 · 291 阅读 · 0 评论 -
FOJ-1058-粗心的物理学家
题目:粗心的物理学家代码:#include#include#includeusing namespace std;int main(){ int n; double sum=0,cnt=0; while(scanf("%d",&n)!=EOF) { if(n>5000000 || n0)break;//超过范围 int原创 2016-03-19 14:02:04 · 342 阅读 · 0 评论 -
FOJ-1001-Duplicate Pair
题目:Duplicate Pair大意:有多组测试数据,输入整数n,接着输入n个整数(integers),这些数字几乎都只出现一次,但其中有一个数出现了两次,请输出这个数。题解:大数据问题,普通的两个for暴力解决很明显会T,也不能用C++的cin和cout(费时太多)。那么这个问题就转换成如何省时间的一题。代码:#include #include #define N 10原创 2016-03-19 14:01:46 · 270 阅读 · 0 评论 -
函数递归简单题-hdoj-2044 2018-一只小蜜蜂 母牛的故事
题目:一只小蜜蜂递归做法:#include#include#include#include#includeusing namespace std;int cnt=0;//countint a,b;//int flag=0;int tran[3]={1,2};//坐标移动void done(int x){ int begin=0,bet=0; be原创 2016-03-19 14:01:34 · 525 阅读 · 0 评论 -
DFS回溯-函数递归-xiaoz triangles
题目:小z 的三角形★实验任务三角形的第1 行有n 个由“+”和”-“组成的符号,以后每行符号比上行少1 个,2 个同号下面是”+“,2 个异号下面是”-“ 。计算有多少个不同的符号三角形,使其所含”+“ 的个数是”-“ 的个数的一半。n=7 时的1 个符号三角形如下:+ + - + - + ++ - - - - +- + + + -- + + -- + -- -+★数据原创 2016-03-19 14:01:24 · 244 阅读 · 0 评论 -
进制转换 hdoj-2031
进制转换,原题目:hdoj-2031题目描述:输入两个整数,十进制数n(32位整数)和进制r(2输入:7 223 12-4 3输出:1111B-11代码:#includechar in[105];//存位数int main(){ int n,r; int i,j; int t; int judge=0;//judge判断是否原创 2016-03-19 14:01:20 · 260 阅读 · 0 评论 -
hdoj-2058-the sum problem
题目:the sum problemaccept代码:#include#include//(a+b)*n/2int main(){ int n,i,j,m; int t=0,sum=0; int k=0,a,b; while(scanf("%d%d",&n,&m)!=EOF) { if(n==0 && m==0)break;原创 2016-03-19 14:01:14 · 260 阅读 · 0 评论 -
BFS-迷宫问题-用宽度(广度)优先搜索解决最优路径问题
题目:给定一个大小为 N×M 的迷宫。迷宫由通道和墙壁组成,每一步可以向邻接的上下左右四格的通道移动。请求出从起点到终点所需的最小步数。请注意,本题假定从起点一定可以移动到终点。限制条件;N, M ≤ 100测试样例:N=10, M=10(迷宫如下图所示。 '#', '.', 'S', 'G'分别表示墙壁、通道、起点和终点)#S######.#......#..#.#.##原创 2016-03-19 14:01:08 · 1300 阅读 · 0 评论 -
hdoj-2086-A1=?
题目:A1=?代码(作者:Fistice):#include#include#include#include#include#include#include#includeusing namespace std;#define INF 99999999double c[3005]={0},a0,an1;int n;int main(){ int i,j;原创 2016-03-19 14:01:01 · 274 阅读 · 0 评论 -
简单BashGame博弈 初尝试
今天接触了一种最基础的博弈论-BashGame。 假设一个石子堆有n个石子,每次最多只能取m个,zzx和whl两位大神准备进行竞赛,两位大神每一步走的都是最优的。zzx大神先开始,最后把石子取完的人获胜,作为旁观者的你能不能告诉我们,是zzx大神赢了,还是whl大神赢了?原创 2016-05-03 22:38:38 · 439 阅读 · 0 评论