比赛 |
“Asm.Def战记之太平洋”杯 |
评测结果 |
WWWWWWEEEE |
题目名称 |
Asm.Def的一秒 |
最终得分 |
0 |
用户昵称 |
dududu |
运行时间 |
0.615 s |
代码语言 |
C++ |
内存使用 |
0.27 MiB |
提交时间 |
2015-11-02 11:51:47 |
显示代码纯文本
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cstdlib>
#include<queue>
#include<vector>
#include<stack>
#include<cmath>
#include<algorithm>
using namespace std;
int N,a,b,c,d;
struct point
{
int x,y;
};
point p[1000+10];
vector<int> num[1002];
void read()
{
cin>>N;
cin>>a>>b>>c>>d;
for(int i=1;i<=N;i++) cin>>p[i].x>>p[i].y;
for(int i=1;i<=N;i++)
{
for(int j=1;j<N;j++)
{
if(p[i].x<p[j].x&&p[i].y<p[j].y)
{
num[i].push_back(j);
}
}
}
}
void sovle()
{
int maxx=-1,step=0,ans=0;
for(int i=1;i<=N;i++)
if(maxx<num[i].capacity())
{
maxx=num[i].capacity();
step=i;
}
while(1)
{
ans++;
maxx=0;
if(num[step].capacity()==0) break;
for(int i=0;i<num[step].capacity();i++)
{
if(num[num[step][i]].capacity()>maxx)
{
maxx=num[num[step][i]].capacity();
step=i;
}
}
}
ans--;
cout<<ans<<endl;
}
int main()
{ freopen("asm_second.in","r",stdin);
freopen("asm_second.out","w",stdout);
read();
sovle();
return 0;
}