| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:bobobo按区间排序,有重叠部分的就可以被一个radar覆盖到,贪心In Reply To:bobobo按区间排序,有重叠部分的就可以被一个radar覆盖到,贪心 Posted by:sza at 2006-08-14 11:47:06 > bobobo按区间排序,有重叠部分的就可以被一个radar覆盖到,贪心
#include<iostream>
#include<math.h>
using namespace std;
int addlist(double p[1000][4],int length,int r)
{
double min=0;
for(int i=0;i<length;i++)
{
cin>>p[i][0];
cin>>p[i][1];
if(p[i][1]>r)
return -1;
p[i][2]=p[i][0]-sqrt(r*r-p[i][1]*p[i][1]);
p[i][3]=p[i][0]+sqrt(r*r-p[i][1]*p[i][1]);
}
for(int i=0;i<length-1;i++)
{
for(int j=0;j<length-1-i;j++)
{
if(p[j][2]<p[j+1][2])
{
for(int k=0;k<4;k++)
{
double temp=p[j][k];
p[j][k]=p[j+1][k];
p[j+1][k]=temp;
}
}
}
}
int count=length;
int i=0;
int k=0;
while(i<length-1)
{
while(p[i+1][3]>=p[k][2])
{
if(i>= length-1)
break;
i++;
count--;
}
i++;
k=i;
}
return count;
}
int main()
{
int t,r;
int c[1000];
int count1=0;
while(true)
{
double p[1000][4];
cin>>t;
cin>>r;
if(t==0 && r==0)
{
break;
}
else
{
c[count1]=addlist(p,t,r);
count1++;
}
}
for(int k=0;k<count1;k++)
cout<<"Case "<<k+1<<": "<<c[k]<<endl;
system("PAUSE");
return 0;
}
哪位大虾能说说我到底哪里不对
自己测了几组都对
提交就通不过
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator