Untitled

 avatar
unknown
plain_text
2 years ago
892 B
7
Indexable
#include <stdio.h>
#include <stdlib.h>

struct point {
    int x, y;
};

int main() {
    int n, xa, xb, i, j, k, max = 0;
    scanf("%d %d %d", &n, &xa, &xb);
    struct point *p = malloc(n * sizeof(struct point)); // alocando espaço para um vetor de pontos
    for (i = 0; i < n; i++) {
        scanf("%d %d", &p[i].x, &p[i].y);
    }
    for (i = 0; i < n; i++) {
        for (j = i+1; j < n; j++) {
            int cnt = 0;
            for (k = 0; k < n; k++) {
                if ((p[k].y * (xb - xa) == (xb - p[k].x) * (p[i].y - p[j].y) + (p[i].x * p[j].y) - (p[j].x * p[i].y)) && (p[k].y > p[i].y) && (p[k].y > p[j].y)) {
                    cnt++;
                }
            }
            if (cnt > max) {
                max = cnt;
            }
        }
    }
    printf("%d\n", max);
    free(p); // liberando a memória alocada
    return 0;
}
Editor is loading...