2012年1月11日
摘要: 此题给出N组直线,每组2条直线,求出直线是否相交。如果共线则输出LINE,相交则输入点坐标,否则输出NONE.解析几何初中都学过一些,不过写成程序还真是麻烦。情况分成3种:1.看直线的横坐标是否相等。2.看直线的纵坐标是否相等。3.直接用直线公式求解。View Code 1 #include<iostream> 2 #define EPS 1e-8 3 using namespace std; 4 5 bool equal(double x, double y) 6 { 7 return x - y <= EPS && -EPS <= x - y; 8 阅读全文
posted @ 2012-01-11 17:44 Dev-T 阅读(841) 评论(0) 推荐(0) 编辑
摘要: 这题有2点要注意:一丶当n==1时,应特判输出YES二丶精度控制,当2点的距离相差小于1E-8,近似看作同一点。View Code 1 #include<iostream> 2 #include<cmath> 3 #define EPS 1e-8 4 #define MAXN 104 5 using namespace std; 6 struct point { 7 double x, y; 8 }; 9 typedef point VECTOR;10 11 struct segment {12 point p[2]; 13 }data[MAXN];14 15 ... 阅读全文
posted @ 2012-01-11 16:15 Dev-T 阅读(270) 评论(0) 推荐(0) 编辑
  2012年1月10日
摘要: POJ 1410(计算几何初步——判断线段与矩形相交,条件恶心的一B啊,又没说清楚) 阅读全文
posted @ 2012-01-10 17:53 Dev-T 阅读(616) 评论(0) 推荐(0) 编辑
  2011年12月11日
摘要: 福州赛区最水的一道模拟题。。。。坑爹啊,各种细节没考虑到,导致WA了N多次后才得以AC。这题就是判定当前的局面来说,对于黑方是否是死局。还好黑方只有一个将。。。红方也只有炮,马,车,帅。思路很简单:考虑将能走四个方向。先判断这四个方向是否合理。再对红方每个棋子能否扫描到这个点,可以的话就判断下一个方向。如果四个方向均被红方的棋子扫描到的话,就是死局。反之则不是。这题还要注意一个细节就是有可能出现一种情况,黑方会吃掉你一个棋子。。。。。 1 #include<iostream> 2 using namespace std; 3 char map[11][11]; 4 const in 阅读全文
posted @ 2011-12-11 13:47 Dev-T 阅读(813) 评论(0) 推荐(0) 编辑
  2011年8月25日
摘要: SPFA(Shortest Path Faster Algorithm)是Bellman-Ford算法的一种队列实现,减少了不必要的冗余计算。算法大致流程是用一个队列来进行维护。 初始时将源加入队列。 每次从队列中取出一个元素,并对所有与他相邻的点进行松弛,若某个相邻的点松弛成功,则将其入队。 直到队列为空时算法结束。这个算法,简单的说就是队列优化的bellman-ford,利用了每个点不会更新次数太多的特点发明的此算法SPFA——Shortest Path Faster Algorithm,它可以在O(kE)的时间复杂度内求出源点到其他所有点的最短路径,可以处理负边。SPFA的实现甚至比Di 阅读全文
posted @ 2011-08-25 21:29 Dev-T 阅读(21705) 评论(1) 推荐(6) 编辑
摘要: Friend number are defined recursively as follows.(1) numbers 1 and 2 are friend number;(2) if a and b are friend numbers, so is ab+a+b;(3) only the numbers defined in (1) and (2) are friend number.Now your task is to judge whether an integer is a friend number.其实该题主x要描述了: (1).1和2是朋友数。(2).如果... 阅读全文
posted @ 2011-08-25 12:51 Dev-T 阅读(410) 评论(0) 推荐(1) 编辑
  2011年8月23日
摘要: 最近几天一直在刷水题。。。。不过这道题感觉上很水。不过我却因为粗心,吃了多个WA。。。(记录下来警醒自己)举个大家都可能出现问题的例子比如说Kenny喊道:“我来了!"第一个引号是中文的,而第二个引号是英文的。那就意味着第二个引号要改为”。HDU 1736 1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 6 bool flag; 7 char article[100000]; 8 int main(void) 9 {10 while (gets(article))11 {12 阅读全文
posted @ 2011-08-23 20:20 Dev-T 阅读(480) 评论(0) 推荐(1) 编辑