码迷,mamicode.com
首页 > 其他好文 > 详细

1612 - Guess(贪心)

时间:2015-07-28 09:09:17      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:acm   uva   

该题的思路很好想,就是尽量取大一些的成绩为后面的人留出更大的 “空间” 。   细节也很好想,这里不再赘述,值得一提的是 : 该题存在精度问题 , 导致我一开始一直WA。

由于输入和输出只保留两位小数,所以我们不妨将浮点数变成小数,这里要用到round函数,将不需要的小数位四舍五入到整数 。

#include<bits/stdc++.h>
using namespace std;
const int maxn = 16384 + 10;
int n,rankk[maxn],Case = 0;
struct node {
    double a,b,c;
}a[maxn];
int main() {
    while(~scanf("%d",&n)&&n) {
       for(int i=1;i<=n;i++) { scanf("%lf%lf%lf",&a[i].a,&a[i].b,&a[i].c); a[i].a*=100.0; a[i].b*=100.0; a[i].c*=100.0; }
       for(int i=1;i<=n;i++) scanf("%d",&rankk[i]);
       int cur = a[rankk[1]].a + a[rankk[1]].b + a[rankk[1]].c;
       bool ok = true;
       for(int i=2;i<=n;i++) {
            int cnt[10];
            cnt[0] = (int)round(a[rankk[i]].a); cnt[1] = (int)round(a[rankk[i]].b); cnt[2] = (int)round(a[rankk[i]].c);
            cnt[3] = (int)round(a[rankk[i]].a + a[rankk[i]].b); cnt[4] = (int)round(a[rankk[i]].a + a[rankk[i]].c);
            cnt[5] = (int)round(a[rankk[i]].b + a[rankk[i]].c); cnt[6] = (int)round(a[rankk[i]].a + a[rankk[i]].b + a[rankk[i]].c); cnt[7] = 0;
            if(rankk[i] > rankk[i-1]) {
                sort(cnt,cnt+8);
                bool flage = false;
                for(int i=7;i>=0;i--) {
                    if(cnt[i] > cur) continue;
                    else { cur = cnt[i]; flage = true; break; }
                }
                if(!flage) { ok = false; break; }
            }
            else {
                sort(cnt,cnt+8);
                bool flage = false;
                for(int i=7;i>=0;i--) {
                    if(cnt[i] >= cur) continue;
                    else { cur = cnt[i]; flage = true; break; }
                }
                if(!flage) { ok = false; break; }
            }
       }
       printf("Case %d: ",++Case);
       if(ok) printf("%.2lf\n",cur/100.0);
       else printf("No solution\n");
    }
    return 0;
}


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

1612 - Guess(贪心)

标签:acm   uva   

原文地址:http://blog.csdn.net/weizhuwyzc000/article/details/47098809

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!