记录编号 |
97944 |
评测结果 |
WWWWWWAAWW |
题目名称 |
导弹拦截 |
最终得分 |
20 |
用户昵称 |
Cirno |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
0.008 s |
提交时间 |
2014-04-21 11:39:42 |
内存使用 |
0.33 MiB |
显示代码纯文本
#include<iostream>
#include<map>
#include<algorithm>
#include<cstdio>
using namespace std;
int i;
int N,len=0,mlen=0;
int xx,yy,zz;
int find1=0;
int ans=0;
class pos
{
public:
int x,y,z;
bool view;
}p[1002];
bool cmp(pos a,pos b)
{
return a.x<b.x&&a.y<b.y&&a.z<b.z;
}
bool check(int a)
{
if(p[a].x>xx&&p[a].y>yy&&p[a].z>zz)
return 1;
return 0;
}
void init()
{
freopen("bomba.in","r",stdin);
cin>>N;
for(i=0;i<N;i++)
cin>>p[i].x>>p[i].y>>p[i].z,p[i].view=0;
}
void work()
{
while(find1!=N)
{len=0;
for(i=0;i<N;i++)
if(p[i].view==0)
{xx=p[i].x,yy=p[i].y,zz=p[i].z,p[i].view=1,find1++,len++;break;}
for(;i<N;i++)
{
if(check(i)&&p[i].view==0)
{
xx=p[i].x,yy=p[i].y,zz=p[i].z,p[i].view=1,find1++;
len++;
}
}
mlen=max(len,mlen),ans++;
}
}
void out()
{
freopen("bomba.out","w",stdout);
cout<<mlen<<endl<<ans<<endl;
}
int main()
{
init();
sort(p,p+N,cmp);
work();
out();
return 0;
}