当前位置:编程学习 > C/C++ >>

Lining Up

[cpp]  
描述:把任何一个点当做原点,直接暴就可以暴出来  
#include <cstdio>  
#include <cstdlib>  
#include <cstring>  
int main()  
{  
    //freopen("a.txt","r",stdin);  
    int count,flag,n;  
    char str[1100];  
    int sum[710][2];  
    gets(str);  
    sscanf(str,"%d",&n);  
    gets(str);  
    while(n--)  
    {  
        count=1;  
        int p=0;  
        while(gets(str)!=NULL)  
        {  
            if(str[0]=='\0') break;  
            sscanf(str,"%d%d",&sum[p][0],&sum[p][1]);  
            p++;  
        }  
        for(int i=0; i<p; i++)  
            for(int j=i+1; j<p; j++)  
            {  
                int y=sum[i][1]-sum[j][1] , x=sum[i][0]-sum[j][0];  
                flag=2;  
                for(int k=j+1; k<p; k++)  
                {   www.zzzyk.com
                    int c1=sum[j][1]-sum[k][1],c2=sum[j][0]-sum[k][0];  
                    if(c1*x==y*c2) flag++;  
                }  
                if(flag>count) count=flag;  
            }  
        printf("%d\n",count);  
        if(n) printf("\n");  
    }  
    return 0;  
}  
 
补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,