比赛 |
“Asm.Def战记之拉格朗日点”杯 |
评测结果 |
AAAAAAAAAA |
题目名称 |
Asm.Def找燃料 |
最终得分 |
100 |
用户昵称 |
KZNS |
运行时间 |
0.017 s |
代码语言 |
C++ |
内存使用 |
0.32 MiB |
提交时间 |
2015-11-04 10:28:00 |
显示代码纯文本
// KZ's
#include <fstream>
using namespace std;
ifstream fin ("asm_fuel.in");
ofstream fout ("asm_fuel.out");
///////
int n;
int mp[103][3]={0};
///////
void rin() {
fin>>n;
int a,b;
for (int i=0;i<n;i++) {
fin>>a>>b;
mp[i][0]=a+10005;
mp[i][1]=b+10005;
mp[i][2]=1;
}
}
int chu(int a,int b) {
if (!b)
return 0x7fffffff;
return a/b;
}
int mod(int a,int b) {
if (!b)
return 0x7fffffff;
return a%b;
}
void work() {
int a,b,ed=0,s;
for (int i=0;i<n;i++)
for (int j=i+1;j<n;j++) {
if (mp[i][0]==mp[j][0]&&mp[i][1]==mp[j][1]) {
mp[j][2]=mp[i][2]+1;
if (mp[j][2]>ed)
ed=mp[j][2];
continue;
}
s=mp[i][2]+mp[j][2];
a=chu(mp[i][1]-mp[j][1],mp[i][0]-mp[j][0]);
b=mod(mp[i][1]-mp[j][1],mp[i][0]-mp[j][0]);
for (int k=j+1;k<n;k++)
if (mp[j][0]==mp[k][0]&&mp[j][1]==mp[k][1])
s++;
else
if ( (a==chu(mp[j][1]-mp[k][1],mp[j][0]-mp[k][0])) && (b==mod(mp[j][1]-mp[k][1],mp[j][0]-mp[k][0])) )
s++;
if (s>ed)
ed=s;
}
fout<<ed<<endl;
}
/////////
int main() {
rin();
work();
return 0;
}
// UBWH