自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 单链表排序(单链表)

1、题目: Problem Description漳州师院一年一度的表白日开始咯,每个男生要拿着一束花给心仪的女生。Nana想知道自己受不受男生的欢迎。所以她想写一个程序把所有女生收到的花的数量放在一个单链表里面,再进行单链表排序,算出自己的排在第几名。 Input有多组输入数据,每组占两行:第一行输入两个整数n,m,其中(0 Outpu

2013-12-24 09:21:49 1056

原创 求相同后缀首字符(单链表)

1、题目: Problem Description现用单链表保存字符串,假定有两个字符串存在相同的后缀,请输出该相同后缀的首字符。 Input有多组数据,每组包含两个字符串。(串长小于1600) Output输出该相同后缀的首字符。 Sample Inputloadingbeingcateat Sam

2013-12-22 20:03:39 1326

原创 求连通分量(无向图,邻接矩阵,BFS)

1、题目: Problem Description设有一无向图,其顶点值为字符型并假设各值互不相等,采用邻接矩阵表示法存储表示。利BFS用算法求其各连通分量,并输出各连通分量中的顶点。 Input有多组测试数据,每组数据的第一行为两个整数n和e,表示n个顶点和e条边(0 Output按存储顺序的先后,输出各连通分量中的顶点,每组输出占

2013-12-12 18:30:38 6666

原创 广度优先生成树(无向图,邻接矩阵,BFS)

1、题目: Problem Description设有一连通无向图,其顶点值为字符型并假设各值互不相等,采用邻接矩阵表示法存储表示。利用BFS算法求其广度优先生成树(从下标0的顶点开始遍历),并在遍历过程中输出广度优先生成树的每一条边。 Input有多组测试数据,每组数据的第一行为两个整数n和e,表示n个顶点和e条边(0 Output

2013-12-12 15:42:38 6042

原创 邻接矩阵遍历(无向图,邻接矩阵,DFS,BFS)

1、题目: Problem Description有多组数据,每组数据第一行有两个整数n、m,(0 Input分别输出从标号为1点开始深度和广度优先搜索的序列,每个数之后有一个空格。每组数组分别占一行。 Output按存储顺序的先后,输出各连通分量中的顶点,每组输出占若干行,每行最后均有一空格,具体格式见样例。 Sampl

2013-12-12 15:21:06 2144

原创 邻接表中判边(邻接表+无向图)

1、题目: Problem Description设有一无向图G,其顶点值为字符型并假设各值互不相等,采用邻接表表示法存储。设计一个算法,判断该无向图中是否存在某一特定边。 Input有多组测试数据,每组数据的第一行为两个整数n和e,表示n个顶点和e条边(0 Output若下标s和t对应的顶点间有边,输出1

2013-12-11 20:03:40 3206

原创 第3章 文法和语言(四)

七、句型的分析句型分析就是识别一个符号串是否为某文法的句型,是某个推导的构造过程。在语言的编译实现中,把完成句型分析的程序称为分析程序或识别程序。分析算法又称识别算法。从左到右的分析算法,即总是从左到右地识别输入符号串,首先识别符号串中的最左符号,进而依次识别右边的一个符号。1、自上而下的语法分析:从文法的开始符号出发,反复使用各种产生式,寻找与输入符号串匹配的推导。例

2013-12-07 21:30:47 1462

原创 第3章 文法和语言(三)

五、文法的类型(1)0型文法(短语文法):对任一产生式α→β,都有α∈(VN∪VT)+, β∈(VN∪VT)*(2)1型文法(上下文有关文法):   对任一产生式α→β,都有|β|≥|α|, 仅仅 S→ε除外。即α1Aα2→α1βα2(A在VN中,其他在V*中,β≠ε)(3)2型文法(上下文无关文法):    对任一产生式α→β,都有α∈VN , β∈(VN∪VT)*  即

2013-12-07 21:06:13 1948 1

原创 第3章 文法和语言(二)

四、文法和语言的形式定义1、文法的形式定义1)规则(重写规则、产生式或生成式):是一个有序对(α,β)。记为α→β或    α∷=β,其中α∈V+,β∈V* 。    α称为规则的左部(或生成式的左部)。    β称为规则的右部(或生成式的右部)。2)文法G[S]:文法为四元组(VN,VT,P,S)     VN :非终结符集     VT :终结符集

2013-12-07 20:53:21 2149

原创 第3章 文法和语言(一)

一、语言语言是由句子组成的集合,是由一组记号所构成的集合。汉语--所有符合汉语语法的句子的全体英语--所有符合英语语法的句子的全体程序设计语言--所有该语言的程序的全体二、文法概念:        一种语言描述工具,用来定义句子的结构,用有限的规则把语言的全部句子描述出来,是以有穷的集合刻划无穷的集合的工具。〈句子〉::=〈主语〉〈谓语〉〈主语〉

2013-12-07 20:24:54 1091

原创 第1章 编译程序概论

一、基本概念:机器语言:能够被计算机的硬件系统直接执行的指令程序。 汇编语言:将硬件指令用一些助记符表示。如ADD表示加法操作,SUB表示减法操作等等 高级语言:使用便于理解的自然语言。语言处理程序解释程序(器):接受某种语言源程序,然后直接解释执行源程序。编译程序(器):接受某种语言的源语      言程序后,将它改造成另一种逻辑上等价的目标语言程序。

2013-12-06 13:06:17 854

原创 加工(单链表)

1、题目: Problem Description对一串手链进行加工,起始时,该手链有n(1,2,....n)个的珠子,珠子都有颜色color(字符串,长度对手链加工的方法有4种:ADD:在手链上的末尾添加一个珠子DELETE:将手链上的第x个珠子除去REPLACE: 将手链上的第x个珠子替换掉FINISH:加工完毕,将珠子的颜色输出要求若x

2013-12-03 09:13:12 1136

原创 判操作序列有效性

1、题目: Problem Description假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则成为非法序列。请编写一个对该操作序列的有效性进行判断,若有效输出1,无效输出0。 Input有多组数据,每组为由I和O组成的序列,序列长度不超过50。

2013-12-02 13:17:38 1797 1

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关注的人

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