1612 - Guess(贪心)
来源:互联网 发布:花生壳免费域名不稳定 编辑:程序博客网 时间:2024/06/06 09:12
该题的思路很好想,就是尽量取大一些的成绩为后面的人留出更大的 “空间” 。 细节也很好想,这里不再赘述,值得一提的是 : 该题存在精度问题 , 导致我一开始一直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;}
0 0
- 1612 - Guess(贪心)
- UVa 1612:Guess(贪心)
- UVA - 1612 Guess 贪心
- UVALive 3664 Guess(贪心+精度)
- UVA1612 Guess(贪心+精度)
- Uva - 1612 - Guess
- uva uva 1612 - Guess
- UVA 1612 Guess
- UVA 1612 Guess
- UVA 1612(p254)----Guess
- UVA 1612 Guess
- Guess
- guess
- uva 1612——Guess
- LA4255 Guess (拓扑排序)
- UVa #1612 Guess (习题8-8)
- HDU 4192 Guess the Numbers (表达式)
- uva 1423 - Guess(拓扑排序)
- 程序员之路
- Arch Linux 安装 Xerox Phaser 3125N 网络打印机备忘录
- Arch Linux 安装配置备忘录
- Arch Linux 安装 Virtualbox 4.2.0 备忘录
- 从源代码编译 Mono 2.8.2 是否需要低版本的 Mono
- 1612 - Guess(贪心)
- 在 Ubuntu 10.10 操作系统中安装 Mono 2.8.2
- shell中的字符串操作
- Ubuntu 中的编程语言(下)
- python之import
- 浅谈 make 工具
- 在 Ubuntu 9.10 操作系统中安装 MonoDevelop 2.2
- C语言之三种循环结构与递归函数的对比
- 也谈在 .NET 平台上使用 Scala 语言(续)