【水滴石穿】1118

2019-11-30

1118( 动态分配二维数组/结构体)给出来的是坐标,判断共线(斜率)

#include <stdio.h>
#include <stdlib.h>

#define N 700

int main()
{
    int n,i,j;
    struct
    {
        int x,y;
    } p[N];
    while(scanf("%d",&n)!=EOF && n!=0)
    {
        for(i=0; i<n; i++)
        {
            scanf("%d %d",&p[i].x,&p[i].y);
        }
        int k,num;
        int max=2;
        for(i=0; i<n; i++)
        {
            for(j=i+1; j<n; j++)
            {
                num=2;
                for(k=j+1; k<n; k++)
                {
                    if((p[i].y-p[j].y)*(p[k].x-p[i].x)==(p[k].y-p[i].y)*(p[i].x-p[j].x))
                    {
                        num++;
                    }
                }
                if(num>max)
                {
                    max=num;
                }
            }
        }
        printf("%d\n",max);
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/calm-blogme/p/11967009.html
今日推荐