National Sun Yat-sen University
Function library for programming contest

file name     description                            June 9, 2003
---------------------------------------------------------------------
2d_max.c      maximum points on 2-D plane
2lin_ang.c    angle of two lines (each line by 2 points)
2line.c       intersection of two lines (each line by 2 points)
2seg.c        intersection of two line segments
all_pair.c    all-pair shortest path of a graph without getting the path
all_path.c    all-pair shortest path of a graph with getting the path
bfs.c         breadth-first search of a directed graph
bi2gray.c     convert binary code to Gray code with 0/1 bit string
bubble.c      bubble sort
c_intan.c     internal tangent lines of two circles
c_outtan.c    external tangent lines of two circles
cir2pnt.c     tangent lines of one point to a circle
cirinter.c    intersection points of two circles
combine.c     the value of combination C(n,k), n<=33, for all k<=n
combine1.c    combination of a given sequence # in C(n, k) combinations
combine2.c    get the sequence # of a combination in C(n, k) combinations
dfs.c         depth-first search of a graph
gray2bi.c     convert Gray code to binary code with 0/1 bit string
huffman.c     Huffman code of radix k (k-ary tree), k>=2
hull.c        convex hull of n points on the 2-D plane
lcs1.c        longest common subsequence (cost by editor operations)
lcs2.c        longest common subsequence (simple version)
long_ari.c    long integer arithmetic operations (+ - * / mod ^)
longadd.c     long integer addition
longdiv.c     long integer division
longmul.c     long integer multiplication
longsub.c     long integer substraction
permute1.c    permutation of a given sequence # in P(n,k) permutations
permute2.c    sequence # of a given permutation in P(n,k) permutations
pnt2line.c    distance between a point and a line
pnt2seg.c     distance between a point and a line segment
prime.c       find all prime numbers between 1 and n
rad_conv.c    radix conversion (from x to 10 or 10 to x, long)
rational.c    add, sub, mul, div of rational numbers
short.c       single source shortest path in a graph
sort_ne.cpp   shortest path in a graph, with negative edges, no negative cycle
shortdiv.c    one long integer in an array divided by an integer
shotrmul.c    multiplication of one long integer in an array and an integer
topo.c        topological sorting (ordering) on an acyclic digraph
trans.c       transitive closure of a directed graph (n iterations)
translog.c    transitive closure of a directed graph (logn iterations)
tri_outc.c    external center of a triangle
tsp.c         traveling salesperson problem (branch and bound)
