直接做。
矩形的座標(x1, y1)跟(x2, y2),
與(x, y)做比較,若在其中就是在矩形內。
/* ACM 476 * mythnc * 2011/10/21 16:13:45 * run time: 0.02 */ #include <stdio.h> #define IN 1 #define OUT 0 int main(void) { double r[10][4], x, y; /* kr: number of r, k: number of (x, y) */ int kr, k; int n, i; char c; kr = 0; /* receive r */ while ((c = getchar()) != '*') if (c == 'r') { scanf("%lf %lf %lf %lf", &r[kr][0], &r[kr][1], &r[kr][2], &r[kr][3]); kr++; } k = 1; while (scanf("%lf %lf", &x, &y) == 2) { if (x == 9999.9 && y == 9999.9) break; for (n = OUT, i = 0; i < kr; i++) if (x > r[i][0] && x < r[i][2] && y > r[i][3] && y < r[i][1]) { printf("Point %d is contained in figure %d\n", k, i + 1); n = IN; } if (n == OUT) printf("Point %d is not contained in any figure\n", k); k++; } return 0; }
沒有留言:
張貼留言