书山有径勤为路>>>>>>>>

<<<<<<<<学海无涯苦作舟!

上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 19 下一页

2011年11月4日

File ——getchar() putchar()

摘要: 1.使用文件的方式共有12种,下面给出了它们的符号和意义。文件使用方式 意义“rt” 只读打开一个文本文件,只允许读数据“wt” 只写打开或建立一个文本文件,只允许写数据“at” 追加打开一个文本文件,并在文件末尾写数据“rb” 只读打开一个二进制文件,只允许读数据“wb” 只写打开或建立一个二进制文件,只允许写数据“ab” 追加打开一个二进制文件,并在文件末尾写数据“rt+” 读写打开一个文本文件,允许读和写“wt+” 读写打开或建立一个文本文件,允许读写“at+” 读写打开一个文本文件,允许读,或在... 阅读全文

posted @ 2011-11-04 22:00 More study needed. 阅读(396) 评论(0) 推荐(0) 编辑

对闰年 平年的优化

摘要: Description定义一个结构体变量(包括年、月、日),编程序,要求输入年月日,计算并输出该日在本年中第几天。注意本题一定要定义结构体变量,否则本实验成绩无效。Input输入三个整数(并且三个整数是合理的,既比如当输入月份的时候应该在1 至12 之间,不应该超过这个范围)否则输出Input error!Output输出一个整数.既输入的日期是本月的第几天。Sample Input1985 1 202006 3 12Sample Output2071Hint1、算法提示:如果输入的是2006 年3 月12 日,计算方法是:计算2006 年1 月1 日到2006-3-12 是多少天。注意同样判 阅读全文

posted @ 2011-11-04 14:47 More study needed. 阅读(266) 评论(0) 推荐(0) 编辑

2011年11月3日

闰年 平年

摘要: Description定义一个结构体变量(包括年、月、日),编程序,要求输入年月日,计算并输出该日 在本年中第几天。注意本题一定要定义结构体变量,否则本实验成绩无效。Input输入三个整数(并且三个整数是合理的,既比如当输入月份的时候应该在1 至12 之间, 不应该超过这个范围)否则输出Input error!Output输出一个整数.既输入的日期是本月的第几天。Sample Input1985 1 202006 3 12Sample Output2071Hint1、算法提示:如果输入的是2006 年3 月12 日,计算方法是:计算2006 年1 月1 日 到2006-3-12 是多少天。注意 阅读全文

posted @ 2011-11-03 21:08 More study needed. 阅读(342) 评论(0) 推荐(0) 编辑

2011年10月29日

DP(一)——邮票个数的统计

摘要: 本题是一道相当典型的动态规划题目,值得一看。题目:http://acm.swust.edu.cn/oj/problem/0251/我们用dp[i]线性数组来表示邮票的个数,dp[i]中的i就表示达到的面值了。也就是说当达到面值i的时候要用到dp[i]张邮票。当然,i要从1开始,这样就有了dp[1],这个过程是为了dp[2]做的铺垫,可以说这就是动态规划的精髓了。View Code #include "iostream"using namespace std;#define INF 0x7ffffff #define size 2000001int dp[size];int 阅读全文

posted @ 2011-10-29 21:44 More study needed. 阅读(300) 评论(0) 推荐(0) 编辑

用并查集合并不同的集合

摘要: Description若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。Input第一行:三个整数n,m,p,(n<=5000,m<=5000,p<=5000),分别表示有n个人,m个亲戚关系,询问p对亲戚关系。 以下m行:每行两个数Mi,Mj,1<=Mi,Mj<=N,表示Ai和Bi具有亲戚关系。 接下来p行:每行两个数Pi,Pj,询问Pi和Pj是否具有亲戚关系。Outp 阅读全文

posted @ 2011-10-29 20:49 More study needed. 阅读(463) 评论(0) 推荐(0) 编辑

2011年10月28日

叉乘(六)——点在多边形内吗?

摘要: 用途6:判断点P是否在多边形中是计算几何中一个非常基本但是十分重要的算法。以点P为端点,向左方作射线L,由于多边形是有界的,所以射线L的左端一定在多边形外,考虑沿着L从无穷远处开始自左向右移动,遇到和多边形的第一个交点的时候,进入到了多边形的内部,遇到第二个交点的时候,离开了多边形,……所以很容易看出当L和多边形的交点数目C是奇数的时候,P在多边形内,是偶数的话P在多边形外。 但是有些特殊情况要加以考虑。 如图下图(a)(b)(c)(d)所示。 在图(a)中,L和多边形的顶点相交,这时候交点只能计算一次; 在图(b)中,L和多边形顶点的交点不应被计算; 在图(c)和(d) 中,L... 阅读全文

posted @ 2011-10-28 10:33 More study needed. 阅读(589) 评论(0) 推荐(0) 编辑

叉乘(五)——点、线、多边形、圆在矩形中吗?

摘要: 1.点: 只要判断该点的横坐标和纵坐标是否夹在矩形的左右边和上下边之间。2.线段、折线、多边形: 因为矩形是个凸集,所以只要判断所有端点是否都在矩形中就可以了。3.矩形: 只要比较左右边界和上下边界就可以了。4.圆: 很容易证明,圆在矩形中的充要条件是: 圆心在矩形中且圆的半径小于等于圆心到矩形四边的距离的最小值。 阅读全文

posted @ 2011-10-28 10:08 More study needed. 阅读(378) 评论(0) 推荐(0) 编辑

叉乘(四)——线段与直线相交吗?

摘要: 用途4:明白了用途3以后,再来看用途4那是相当的简单呀。如果线段P1P2和直线Q1Q2相交,则线段P1P2跨立直线Q1Q2,即:( P1 - Q1 ) × ( Q2 - Q1 ) * ( Q2 - Q1 ) × ( P2 - Q1 ) >= 0。没错,就是这么的简单,不用怀疑什么。 阅读全文

posted @ 2011-10-28 09:57 More study needed. 阅读(408) 评论(0) 推荐(0) 编辑

叉乘(三)——线段与线段相交吗?

摘要: 用途3:我们现在的任务就是判断线段P1P2和线段Q1Q2是否相交。我们分两步确定两条线段是否相交: (1)快速排斥试验 设以线段 P1P2 为对角线的矩形为R, 设以线段 Q1Q2 为对角线的矩形为T, 如果矩形R和矩形T不相交,显然两线段不会相交。 (2)跨立试验 如果两线段相交,则两线段必然相互跨立对方。 若P1P2跨立Q1Q2 ,则矢量 ( P1 - Q1 ) 和( P2 - Q1 )位于矢量( Q2 - Q1 ) 的两侧, 即1.(P1 - Q1) x (Q2 - Q1)<0, 这个式子表明Q1Q2在P1Q1的右方,也就是说P1Q1在Q1Q2的... 阅读全文

posted @ 2011-10-28 00:24 More study needed. 阅读(828) 评论(0) 推荐(0) 编辑

2011年10月27日

叉乘(二)——点在线段上吗?

摘要: 用途2:其实这个还是用的叉乘的性质,“左边还是右边”,只不过这个在线上,也就是说是性质的第三条。设点为Q,线段为P1、P2 ,判断点Q在该线段上的依据是:1.( Q - P1 ) × ( P2 - P1 ) = 0;2.Q 在以 P1,P2为对角顶点的矩形内第一点是为了保证Q点在直线P1P2上,第二点是为了保证Q点不在线段P1P2的延长线或反向延长线上对于第二点这一步骤的判断可以用以下过程实现: ON-SEGMENT(pi,pj,pk) //pk就是要判断的点了,pi,pj就是线段的两个端点。 if min(xi,xj) <= xk <= max(xi,xj) and m 阅读全文

posted @ 2011-10-27 23:49 More study needed. 阅读(422) 评论(0) 推荐(0) 编辑

上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 19 下一页

导航

书山有径勤为路>>>>>>>>

<<<<<<<<学海无涯苦作舟!