自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(275)
  • 资源 (3)
  • 收藏
  • 关注

原创 hdu1212Big Number

1.题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1212 2.思路:   利用同余定理,即:(a+b)%c=(a%c+b%c)%c;(a*b)%c=(a%c*b%c)%c;  3.参考代码: ///大数对小数求余的模板题#include #include int mod(char* n1,

2013-08-02 10:05:46 600

原创 hdu1215七夕节

1.题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1215 2.思路:    题目要求求所给数的所有因子之和。    可以采用筛选法,首先要知道每个数都有因数1,每个数的最大因数不超过它的1/2。    这样就可以用哈希表和筛选法做。  3,.参考代码: #include #define num 5

2013-08-01 21:52:10 593

原创 hdu1042N!

1.题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042 2.思路:    用数组的形式去存。  3.参考代码: #include int a[40000];int main(){ int i,j,n,carry; while(~scanf("%d",&n)) { a[

2013-08-01 20:28:15 693

原创 hdu1019Least Common Multiple

1.题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1019 2.思路:       就是求n个数的最小公倍数,先求两个数的最大公约数,再求两个数的最小公倍数,再将这个数与下一个数求最小公倍数。       注意要用64位的,不然会WA啊!!! 3.参考代码: #include __int64 gcd(__i

2013-08-01 16:11:15 666

原创 hdu1312Red and Black

1.题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312  2.思路:  题目就是要求走过黑格子的个数,我用的是深度优先搜索进行搜索,具体看代码。 3.参考代码: #include #include int n,m,cnt; ///n为列数,m为行数,cnt是计算走过黑格子的数目char gr

2013-07-31 21:54:32 786

原创 hdu1596find the safest road

1.题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1596 2.思路:     这道题目是求最短路的变行题,此题说明最短路也能求最大值(最大安全系数)。本来这道题目我是用dijkstra算法做的,然后不知道哪里不对,老是WA,后来我就换了个算法用floyd算法,但是由于一个细节没有处理好,一直TLE,坑死了,后来发现是一个细节,我

2013-07-31 15:31:49 679

原创 hdu2680Choose the best route

1.题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2680 2.思路 :       这道题目是多个起点,一个终点,属于有向单源最短路问题。可以假设一个虚拟的起点,然后将虚拟起点到没有起点的距离设为0,这样就可以用dijkstra反向建图。 3.参考代码: #include #include #define

2013-07-31 14:51:39 642

原创 hdu2544最短路

1.题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 2.思路:    我是用floyd算法去求的。具体看代码。  3.参考代码: #include #include #define inf 0xffffint n,m; ///n为点数,m为边数int dis[1100][1100

2013-07-31 10:09:47 670

原创 三位数之和

1.题目: Problem Description在DOTA中被冷落的小Y无聊致死,开始整理书本,发现了一道题看似简单却总也找不到正确答案的简单题,现在请你帮小Y解决掉它。给你三个不同的数字,请你输出该三位数字组成的所有三位数的和。 Input首先输入一个整数T,表示有T组数据。接下来每组三个数字a,b,c(0 Output对于每组测试数据,输出该三位数字组成的所有

2013-07-31 09:43:28 1045

原创 同向行驶

1.题目: Problem Description甲、乙、丙三辆汽车在环形马路上同向行驶,甲车行一周要a分钟,乙车行一周要b分钟,丙车行一周要c分钟,三辆汽车同时从同一个起点出发,至少要过多久这三辆汽车才能同时又在起点相遇。 Input输入包含多组测试数据,每组只有一行,分别为a,b,c三个整数 Output对于每个测试用例,输出相遇所需的时间,每个实例输出一行。

2013-07-31 09:35:45 908

原创 hdu1874畅通工程续

1.题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874  2.说明:       本题属于单源路径问题,即一个起点一个终点,具体的看代码。  3.参考代码: #include #include #define inf 0xffff ///定义inf为无穷大int n, m; ///

2013-07-30 22:48:29 635

原创 hdu3342Legal or Not

1.题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3342  2.思路:       这到题目简单是来说就是判断是否存在拓扑排序,也可以说判断是否存在环。有多种方法(比如用floyd,用dfs判断是否存在环),还有就是最原始的拓扑算法,具体见代码。 3.参考代码: #include #include i

2013-07-30 21:08:20 1501 1

原创 hdu1285确定比赛名次

1.题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285 2.拓扑排序:拓扑排序方法如下:(1)从有向图中选择一个没有前驱(即入度为0)的顶点并且输出它。(2)从网中删去该顶点,并且删去从该顶点发出的全部有向边。(3)重复上述两步,直到剩余的网中不再存在没有前趋的顶点为止。 一般应用:       拓扑排

2013-07-30 16:45:09 856

原创 C语言的各种格式化输出

双精度浮点(长双精度)型数据用%lf输出 短整型数据用%u输出 %d 有符号10进制整数 %i 有符号10进制整数 %o 有符号8进制整数 %u 无符号10进制整数 %x 无符号的16进制数字,并以小写abcdef表示 %X 无符号的16进制数字,并以大写ABCDEF表示 %F/f 浮点数 %E/e 用科学表示格式的浮点数 %g 使用%f和%e表示中的总的位

2013-07-30 12:59:12 1377

原创 Picture

1.题目: Problem DescriptionGive you the width and height of the rectangle,darw it. InputInput contains a number of test cases.For each case ,there are two numbers n and m (0 < n,m < 75)indicat

2013-07-30 12:54:33 1052

原创 追赶问题

1.题目:  Problem Description在n米长的环形跑道上,甲乙两个人同时同向并排起跑,甲平均速度是每秒a米,乙平均速度是每秒b米,两人起跑后的第一次相遇在起跑线前几米? Input输入数据由多个测试实例组成,每个测试实例占一行.每组数据输入三个量n,a,b. Output输出第一次相遇在起跑线前多少米,每个输出占一行,结果取整。 Sample

2013-07-30 12:49:18 1507

原创 最短路径算法

1.算法一:Dijkstra算法          这个算法比较经典,一般的最短路径都可以用这个来解决,耗时也比较少,不过不能处理负权路径按路径长度递增次序产生最短路径算法:          把V分成两组:  (1)S:已求出最短路径的顶点的集合  (2)V-S=T:尚未确定最短路径的顶点集合        将T中顶点按最短路径递增的次序加入到S中,  保证:

2013-07-29 11:12:07 1813 2

原创 hdu1102Constructing Roads(prim)

1.题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1102  2.题意及思路:题意是给你n个村庄的地图,map[i][j]表示村庄i到村庄j的距离,然后给你m条道路,在这个基础上添加道路,使所有村庄都能联通。求添加道路的最短距离。明显的最小生成树的题目。具体看代码  3.参考代码: #include u

2013-07-28 20:52:12 800

原创 Kruskal算法(克鲁斯卡尔算法)---求加权连通图的最小生成树的算法

1.参考资料:克鲁斯卡尔算法  kruskal算法 2.代码实现: #include #include using namespace std;int n,m,s; ///n为无向图的顶点个数,m为边的条数,s用来存放最小生成树的总权值int root[111]; ///存储父节点struct Edge{ int a,b;

2013-07-27 18:47:07 2477

原创 空心三角形

1.题目: Problem Description把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果。 Input输入数据有多组,每组占一行。每行包含一个字符和一个整数n(0 Output对于每组测试数据,输出该空心三角形。每组输出结果之间有一空

2013-07-27 13:48:39 1539 4

原创 分割n边形

1.题目: Problem Description以n(n>3)边形的n个顶点和它内部的m(m为正整数)个点,共(m+n)个顶点作为顶点,可把原n边形分割成多少个互不重叠的小三角形? Input输入有多组,每行输入n和m,用空格分开 Output对每组输入数据,输出一行 Sample Input3 24 35 62012 22 S

2013-07-27 11:04:46 1917 1

原创 正多边形

1.题目: Problem Description正三角形的每个内角都是60度,正方形的每个内角都是90度。。。现在给你一个内角n,判断它是不是某个正多边形的内角。 Input输入数据有多组,每组数据包含一个整数n(0<n<180) Output对于每组数据,如果n是某个正多边形的内角,则输出"YES",否则输出"NO",每组输出占一行。 Sample In

2013-07-27 10:33:02 1316

原创 数字反转

1.题目: Problem Description12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转。 Input第一行一个正整数表示测试数据的个数n。只有n行,每行两个正整数a和b(0 Output如果满足题目的要求输出a+b的值,否则输出NO。 Sample Inpu

2013-07-27 09:12:12 952

原创 小糖的糖果

1.题目: Problem Description小糖是个视糖如命的家伙,有天他误打误撞来到了糖果王国,那到处的糖果看得他口水直流。糖果国王是个有点小聪明的人,于是他便对小糖说你能破解我的谜底我就给你好多糖果。给你一个正整数n,求出n除以9的余数m。可怜的小糖平时只知道吃糖果哪里知道怎么破,聪明的伙伴们赶紧帮忙破解,小糖愿意跟你分享他的糖果哦! Input输入数据有多组,每组占

2013-07-26 22:29:15 1151

原创 hdu1241Oil Deposits

1.题目: Problem Description The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time,

2013-07-25 20:14:59 707

原创 hdu1010Tempter of the Bone

1.题目: Problem Description The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it up, the maze began to shake, and the doggie could feel the ground s

2013-07-25 19:51:13 738

原创 1016Prime Ring Problem

1.题目: Problem Description A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should

2013-07-25 19:26:06 712

原创 LP的情书

1.题目: Problem DescriptionLP喜欢上了一个女生,但是他又不敢直接跟对方说,于是他用了一种加密方式来写情书,希望她有一天也许会看懂,但是情书不小心被我截获了,现在由你来解密他的情书吧~o(≧v≦)o~~加密方式:正如我们所知,LP是一个ACM男,所以他的加密方式与电脑有非常大的联系,他的英文字母对应着电脑键盘的顺序(qwertyuiop……),如a-->q b

2013-07-25 12:16:29 1251

原创 矫正单词

1.题目: Problem DescriptionLJ likes to write words in reverse way. Given a single line of text which is written by Ignatius, you should reverse all the words and then output them. InputThe inp

2013-07-24 12:29:20 841

原创 1019:石头剪刀布

1.题目:题目描述现在有两个人在玩石头剪子布游戏,请你判断最后谁赢了。用R代表石头,S代表剪子,P代表布。 输入格式输入的第一行是一个整数t(0每组输入样例的第一行是一个整数n(0接下来n行,每行由两个字母组成,两个字母之间用一个空格分隔,这些字母只会是R,S或P。第一个字母表示Player1的选择,第二个字母表示Player2的选择。 输出

2013-07-20 20:53:54 1788

原创 1046:晚餐

1.题目:题目描述小明请好朋友们来家里吃晚饭,但是厨房里的餐具不够了,于是小明到仓库里找新餐具。仓库里的东西都是装在一个个箱子里,箱子上面写着里面装的什么东西,现在小明想请你帮忙找出这些装餐具的箱子。题目中的餐具只包含:碗(bowl),刀(knife),叉(fork),筷子(chopsticks)。 输入格式输入包含多组测试数据。每组先输入一个整数N,表示仓库里有N个箱

2013-07-19 21:26:09 2482 1

原创 2333:火爆的一乐拉面

1.题目:题目描述《火影忍者》里面的一乐拉面是主角鸣人的最爱。正巧今天是鸣人升为中忍的日子(熬了这么多年终于成中忍了= =),他决定带着他的小伙伴们去一乐大吃一顿庆祝庆祝。来到一乐门前时,鸣人惊呆了,门前已经排了好几列队伍了,而且每个队伍中的人还都不少。鸣人已经饿的肚子咕咕叫了,他想知道排哪列队伍可以最快吃上饭。我们规定排队的人有3种,并且每种食物的制作时间都不同。

2013-07-19 12:49:48 2179

原创 单链表删除相同值(单链表)

1.题目: Problem Description单链表A是递增有序数列,编写算法,删除值相同的多余节点,可能有多组相同值。 Input输入包含多组测试数据,每组测试数据第一行是一个n,表示有n个数输入,第二行是n个数,当n为零时结束(n>=0)。 Output输出删除相同值后的列表,每两个数据之间有一个空格。 Sample Input51 2

2013-07-18 10:06:52 1632

原创 hrbust1179下山

1.题目:Description下面的矩阵可以想象成鸟瞰一座山,矩阵内的数据可以想象成山的高度。可以从任意一点开始下山。每一步的都可以朝“上下左右”4个方向行走,前提是下一步所在的点比当前所在点的数值小。例如处在18这个点上,可以向上、向左移动,而不能向右、向下移动。 1 2 3 4 516 17 18 19 615 24

2013-07-17 10:47:30 1170 1

原创 邻接表

#include using namespace std;const int MaxSize = 10; ///图的最大顶点数struct ArcNode { ///定义边表结点 int adjvex; ///邻接点域,存放该顶点的邻接点在顶点表中的下标 ArcNode* next; ///指针域,指向边表中的下一个结点};templa

2013-07-16 20:31:17 916

原创 邻接矩阵

#include using namespace std;const int MaxSize = 10; ///图中的最多顶底个数template class MGraph{private: DataType vertex[MaxSize]; ///存放图中顶点的数组 int arc[MaxSize][MaxSize]; ///存放图

2013-07-16 18:24:41 857

原创 2354:整理试卷

1.题目:题目描述小明是班里的C语言课代表,有一天他被C语言老师叫去把期中考试的试卷从旧办公室搬到新办公室去。老师之前已经按照成绩从低到高把试卷排好了,并且嘱咐小明搬的时候不要把试卷的顺序弄乱了。但巧的是,小明在搬着试卷走的过程中迎面走来一漂亮妹子,于是小明本能的目送美女走过,然后撞到了一个女汉子……就这样,试卷撒了一地,于是乎小明马上捡完试卷堆成一摞,但是试卷的顺序都乱掉了。小明

2013-07-16 17:24:08 1227

原创 二叉树的后序遍历(二叉树)

1.题目: Problem Description给你一个二叉树的前序遍历和中序遍历,输出这个二叉树的后序遍历。 Input输入数据有多组,每组占三行:第一行为一个整数n(n第二行有n个数,表示二叉树的前序遍历序列,各节点值之间有一空格。第三行有n个数,表示二叉树的中序遍历,各节点值之间有一空。 Output对于每组数据,输出二叉树的后序遍历,元素之间用一

2013-07-16 11:51:30 1305

原创 二叉树的建立及遍历(二叉树)

1.题目: Problem Description设有一棵二叉树,其节点值为字符型并假设各值互不相等,采用二叉链表存储表示。现输入其扩展二叉树的前序遍历序列,要求建立该二叉树,并对其进行层序遍历。 Input第一行为一个整数n,表示以下有n组数据,每组数据占一行,为扩展二叉树的前序遍历序列。 Output输出该二叉树的层序遍历序列,空二叉树则不输出任何信息。

2013-07-15 16:46:49 2178

原创 二叉链表的实现(二叉树)

#include using namespace std;template struct BiNode { DataType data; BiNode* lchild, * rchild;};template class BiTree{private: BiNode* root; ///指向根节点的头指针 B

2013-07-14 22:07:21 938

CollWeather

《第一行代码》最后一章酷欧天气的源码。

2016-11-04

用鼠标画矩形的win32代码

#include "stdafx.h" #include "1208000514.h" #define MAX_LOADSTRING 100 // 全局变量: HINSTANCE hInst; // 当前实例 TCHAR szTitle[MAX_LOADSTRING]; // 标题栏文本 TCHAR szWindowClass[MAX_LOADSTRING]; // 主窗口类名 // 此代码模块中包含的函数的前向声明: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); ………………

2014-04-13

ACM做题时的小技巧

ACM的,你懂得 ACM做题过程中的一些小技巧。 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout、cin和printf、scanf最好不要混用。 大数据输入输出时最好不要用cin、cout,防止超时。 2.有时候int型不够用,可以用long long或__int64型(两个下划线__)。 值类型表示值介于 -2^63 ( -9,223,372,036,854,775,808) 到2^63-1(+9,223,372,036,854,775,807 )之间的整数。 printf("%I64d",a); //__int64 一般VC编译器使用(虽然有的OJ用g++,但是动态链接库用的windows的,所以要用%I64d输入输出) printf("%lld",a); //long long 一般g++编译器使用 3.OJ判断是只看输出结果的,所以不要要多余的提示输出。 所以大部分题处理一组数据后可以直接输出,就不需要用数组保存每一个Case的数据。 while(case--) { scanf(...); ...... printf(...); } 4.纯字符串用puts()输出。 数据大时最好用scanf()、printf()减少时间。 先用scanf(),再用gets()会读入回车。所以在中间加一个getchar(); scanf("%c%c",&c1,&c2)会读入空格;建议用%s读取字符串,取第一个字符。 5. 读到文件的结尾,程序自动结束 while( ( scanf(“%d”, &a) ) != -1 ) while( ( scanf(“%d”, &a) ) != EOF) while( ( scanf(“%d”, &a) ) == 1 ) while( ~( scanf(“%d”, &a) ) ) 读到一个0时,程序结束 while( scanf(“%d”, &a) , a) while( scanf(“%d”, &a)!=EOF && a) 读到多个0时,程序结束 while( scanf(“%d%d%d”, &a, &b, &c), a+b+c ) //a,b,c非负 while( scanf(“%d%d%d”, &a, &b, &c), a|b|c ) 6.数组定义int a[10] = {0};可以对其全部元素赋值为0; 数组太大不要这样,防止CE。 全局变量,静态变量自动初始化为0; 函数中定义的变量存储在栈空间中,数组太大需要定义为全局变量(存储在堆空间中)。 7.有很多数学题是有规律的,直接推公式或用递归、循环。 8.圆周率=acos(-1.0) 自然对数=exp(1.0) 9.如果要乘或除2^n,用位移运算速度快。a>>n;a<b?a:b; } int gcd(int m,int n) { return n?gcd(n,m%n):m; } int abs(int a) { return an; } sort(a,a+n,cmp); 14.有的题数据范围小但是计算量大可以用打表法 先把结果算出来保存在数组里,要用时直接取出来。 15.浮点数比较时最好控制精度 #define eps 1e-6 fabs(a-b)<eps 16.有些字符串与整型的转换函数是非标准的 可以使用sscanf()和sprintf()代替 sscanf(s,"%d",&n);//从字符串s中读入整数n sprintf(s,"%d",n);//将n转换为字符串s

2013-04-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除