BIT 1004 Who is the Smartest Man

来源:互联网 发布:中国为什么不禁烟 知乎 编辑:程序博客网 时间:2024/06/05 03:57

Bit 5

题目大意:给你曹操的攻击力和NN<=500)个小怪,每战胜一个攻击力比他低的小怪他的攻击力就加1,战胜一个攻击力比他高的小怪就加2。现在给出N个小怪的攻击力,请问他最后的攻击力最高是多少

 

考察点:贪心

 

思路分析:显然,把小怪攻击力排序一下,先打攻击力比自己高的小怪中攻击力最低的那个,最后再打攻击力一开始就比自己低的。

 

交了三次AC。。输入有多组数据,没打while。。。

 

#include<stdio.h>#include<string.h>#include<stdlib.h>int main(){    int n,ip,i,j;    int a[510];    while(~scanf("%d%d",&n,&ip))    {    for (i=1;i<=n;i++)      scanf("%d",&a[i]);    for (i=1;i<=n-1;i++)      {        for (j=i+1;j<=n;j++)        {            if (a[i]>a[j])            {                          a[0]=a[i];a[i]=a[j];a[j]=a[0];            }        }      }    j=0;    for (i=1;i<=n;i++)    {        if (a[i]<=ip) j++;        else ip=ip+2;    }    ip=ip+j;    printf("%d\n",ip);}    system("pause");    return 0;    }             


 

原创粉丝点击