比赛 |
“Asm.Def战记之太平洋”杯 |
评测结果 |
EEEEEEEEEE |
题目名称 |
Asm.Def的一秒 |
最终得分 |
0 |
用户昵称 |
coo |
运行时间 |
1.291 s |
代码语言 |
C++ |
内存使用 |
0.66 MiB |
提交时间 |
2015-11-02 11:59:33 |
显示代码纯文本
#include<string>
#include<string.h>
#include<vector>
#include<queue>
#include<cmath>
#include<cstdio>
#include<iostream>
using namespace std;
int m,n,j,k,l,ans=10;
int dx[10005],dy[10005],vis[10005]={0};
double di[10005],dii[10005],diii[10005];
int main()
{
freopen("asm_second.in","r",stdin);
freopen("asm_second.out","w",stdout);
int a,b,c,d;
cin>>n;
cin>>a>>b>>c>>d;
for(int i=1;i<=n;i++)
cin>>dx[i]>>dy[i];
double k1=(double)a/b,k2=(double)c/d;
for(int i=1;i<=n;i++)
di[i]=(double)dy[i]/dx[i];
m=0;n=0;di[0]=0;
for(int i=1;i<=n;i++)
if(di[i]<k2&&di[i]>k1){
di[0]+=1;
vis[i]=1;
}
dii[0]=1;int t=1;
while(vis[t]!=1)t++;
m=dx[t];
n=dy[t];
for(int i=1;i<=n;i++)
dii[i]=(double)(dy[i]-n)/(dx[i]-m);
for(int i=1;i<=n;i++)
if(dii[i]<k2&&di[i]>k1){
dii[0]+=1;
}
diii[0]=1;
while(vis[t]!=1)t++;
m=dx[t];
n=dy[t];
for(int i=1;i<=n;i++)
diii[i]=(double)(dy[i]-n)/(dx[i]-m);
for(int i=1;i<=n;i++)
if(diii[i]<k2&&di[i]>k1)diii[0]+=1;
if(dii[0]>diii[0])
{
ans=dii[0];
while(vis[t]!=1)t++;
diii[0]=1;t=2;
m=dx[t];
n=dy[t];
for(int i=1;i<=n;i++)
diii[i]=(double)(dy[i]-n)/(dx[i]-m);
for(int i=1;i<=n;i++)
if(diii[i]<k2&&di[i]>k1)diii[0]+=1;
}
else {
ans=diii[0];
while(vis[t]!=1)t++;
dii[0]=1;
m=dx[t];
n=dy[t];
for(int i=1;i<=n;i++)
dii[i]=(double)(dy[i]-n)/(dx[i]-m);
for(int i=1;i<=n;i++)
if(dii[i]<k2&&di[i]>k1)dii[0]+=1;
}
cout<<ans<<endl;
return 0;
}