hrbust OJ13哥的机器人(利用叉乘判断拐向)

/* * 利用叉乘判断拐向 * auther:Try86 */ #include <cstdio> #include <iostream> using namespace std; char str[1000]; struct point { int x; int y; }A, B, C; int crossProd(point A, point B, point C) { return (B.x-A.x)*(C.y-A.y) - (B.y-A.y)*(C.x-A.x); } int main() { int n; while (scanf("%d", &n), n) { scanf ("%d%d%d%d%d%d", &A.x, &A.y, &B.x, &B.y, &C.x, &C.y); int dir, k = 0; for (int i=2; i<n; ++i) { dir = crossProd(A, B, C); if (dir > 0) str[k++] = 'L'; else if (dir < 0) str[k++] = 'R'; A = B; B = C; if (i < n-1) scanf ("%d%d", &C.x, &C.y); } str[k] = '\0'; printf ("%s\n", str); } return 0; }