2012年7月3日

HDOJ 2037 不相交区间的最大个数

摘要: 贪心法,看了 DISCUSS 后写的, 以前听过大牛的讲解,这是第一道题。# include <stdio.h># include <stdlib.h># define N 105int n;int t[N][2];int cmp(const void *x, const void *y){ return *(int *)x > *(int *)y ? 1:-1;}int main(){ int i, c, tmp; while (1) { scanf("%d", &n); if (n == 0) break; for ... 阅读全文

posted @ 2012-07-03 23:11 getgoing 阅读(318) 评论(0) 推荐(0) 编辑

HDOJ 2036 多边形的面积

摘要: 整数坐标下,面积的2倍也是整数;多边形面积公式;# include <stdio.h># define N 105int n;int x[N], y[N];double area(void){ int i; double ret; ret = 0; for (i = 0; i < n-1; ++i) { ret += x[i]*y[i+1] - x[i+1]*y[i]; } ret += x[n-1]*y[0] - x[0]*y[n-1]; return ret*0.5;}int main(){ int i; ... 阅读全文

posted @ 2012-07-03 22:52 getgoing 阅读(235) 评论(0) 推荐(0) 编辑

COJ 1046 追杀

摘要: 马可以从任意位置出发,走遍整个棋盘;先用 bfs 求出马到达每个位置的最短时间 Ti,然后模拟将的移动,当将移动的时间 Tk 满足 Tk>=Ti 且Tk-Ti为偶数时相遇(马可以在两个位置徘徊一会等待将的到来);# include <stdio.h># include <string.h>const int dir[][2] = {{1,2}, {2,1}, {-1,2}, {1,-2}, {-2,1}, {2,-1}, {-1,-2}, {-2,-1}};int nx, ny, kx, ky;char vis[9][8], dis[9][8];void bfs( 阅读全文

posted @ 2012-07-03 22:17 getgoing 阅读(224) 评论(0) 推荐(0) 编辑

HDOJ 2032 递推求组合数

摘要: 杭电100题,牛们请略过。# include <stdio.h>int cnk[31][31];void prepare(void){ int i, j; for (i = 1; i < 31; ++i) cnk[i][0] = cnk[i][i] = 1; for (i = 2; i < 31; ++i) for (j = 1; j < i; ++j) cnk[i][j] = cnk[i-1][j-1] + cnk[i-1][j];}int main(){ int n, i, j; prepare(); whil... 阅读全文

posted @ 2012-07-03 08:18 getgoing 阅读(322) 评论(0) 推荐(0) 编辑

导航