概述
一天,小希坐在院子里数星星,Gardon就出了个难题给她,让她数数天上的星星最多有多少个是在同一条直线上的。天上的星星太多了,小希马上就看花了眼,你能写个程序来帮她计算么?
输入格式
输入包含多组数据,每组数据的开头是一个整数N(N<=300),接下来的N对数每对表示一个星星的位置(星星的坐标在-10000到10000之间,精确到小数点后1位)。没有两个星星会在同一个位置。
输出格式
一个整数,表示一条直线上最多星星的数目。
样例输入
5 0 0 1 0 1 1 0 1 0.5 0.5
样例输出
3暴力枚举
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct P
{
float x,y;
}a[301];
int main()
{
int n;
while(scanf("%d",&n)!=EOF&&n!=0)
{
for(int i=0;i<n;i++)
scanf("%f %f",&a[i].x,&a[i].y);
int ans=1;
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
int sum=2;
for(int k=j+1;k<n;k++)
{
if((a[i].x-a[j].x)*(a[j].y-a[k].y)==(a[j].x-a[k].x)*(a[i].y-a[j].y))
sum++;
}
if(sum>ans) ans=sum;
}
}
printf("%dn",ans);
}
return 0;
}
最后
以上就是冷傲大米为你收集整理的WOJ1087-数星星 输入格式 输出格式 样例输入 样例输出的全部内容,希望文章能够帮你解决WOJ1087-数星星 输入格式 输出格式 样例输入 样例输出所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复