ACM UVa算法题209 Triangular Vertices的解法
2007-12-17 10:17
507 查看
有一段时间没有做ACM算法题目了,今天正好有空便随便挑了209题来做做:ACM UVa算法题#209题
这道题有几个要点:
1. 给定坐标系
坐标系很容易定,我采用的是第一个点为(0, 0)点,X方向差别为2个单位,Y方向差别为1个单位,点之间的距离,也就是LEN为1个单位,这样便于计算。注意我用的不是实际长度,而是抽象的单位,这个单位在不同方向上面意义不一样,否则很容易通过三角形相关公理推出这样的三角形不存在,我们关心的只是这样的一个对应关系。这里的人为设定确实有些Confusing,我之前也是按照一般的三角形的长度,如3,4,5来定义,但是后来发现这样做做的乘除法太多,过于浪费CPU Cycle,如果按照我这样的设定,大部分情况只用到加减法,另外一种情况只需用到移位操作即可。
参看下图:
//
// ACM UVa Problem #209
// http://acm.uva.es/p/v2/209.html //
// Author: ATField
// Email: atfield_zhang@hotmail.com
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 65535
struct point
point point::s_all_points[MAX];
bool check_triangle(int *n)
bool init_adj(int *n, int num, int adj[6][6])
int find_same_len_loop(int adj[6][6], int num)
bool check_parallelogram(int *n)
bool check_hexagon(int *n)
int main(int argc, char *argv[])
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1595174
这道题有几个要点:
1. 给定坐标系
坐标系很容易定,我采用的是第一个点为(0, 0)点,X方向差别为2个单位,Y方向差别为1个单位,点之间的距离,也就是LEN为1个单位,这样便于计算。注意我用的不是实际长度,而是抽象的单位,这个单位在不同方向上面意义不一样,否则很容易通过三角形相关公理推出这样的三角形不存在,我们关心的只是这样的一个对应关系。这里的人为设定确实有些Confusing,我之前也是按照一般的三角形的长度,如3,4,5来定义,但是后来发现这样做做的乘除法太多,过于浪费CPU Cycle,如果按照我这样的设定,大部分情况只用到加减法,另外一种情况只需用到移位操作即可。
参看下图:
//
// ACM UVa Problem #209
// http://acm.uva.es/p/v2/209.html //
// Author: ATField
// Email: atfield_zhang@hotmail.com
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 65535
struct point
point point::s_all_points[MAX];
bool check_triangle(int *n)
bool init_adj(int *n, int num, int adj[6][6])
int find_same_len_loop(int adj[6][6], int num)
bool check_parallelogram(int *n)
bool check_hexagon(int *n)
int main(int argc, char *argv[])
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1595174
相关文章推荐
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法
- ACM UVa算法题209 Triangular Vertices的解法