Loading......Next.

生来介为忙一场

 

简单的贪心(最优)

http://acm.nyist.net/JudgeOnline/problem.php?pid=6
排序,然后选出最小的

#include<iostream>
#include
<algorithm>
#include
<cmath>
using namespace std;
double ri[600],sum;
int main()
{
 
int i,n,m;
 cin
>>m;
 
while(m--)
 
{
  sum
=0;
  cin
>>n;
  
for(i=0;i<n;i++)
  
{
   cin
>>ri[i];
  }

  sort(ri,ri
+n);
  
for(i=n-1;i>=0;i--)
  
{
   sum
+=sqrt(ri[i]*ri[i]-1);
   
if(sum>=10)
   
{
    
break;
   }

  }

  cout
<<n-i<<endl;
 }

 
return 0;
}

 

posted on 2011-12-11 16:37 bersaty 阅读(164) 评论(0)  编辑 收藏 引用 所属分类: 贪心


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿

随笔分类

随笔档案

友情链接

搜索

最新评论

阅读排行榜

评论排行榜