sgu152:Making round
来源:互联网 发布:淘宝店铺打折工具 编辑:程序博客网 时间:2024/05/16 14:56
题意:
给几个数,算出每个数所占数的总和的百分比,所有的百分比加起来要等于100,取整的时候可以向上取整或向下。
分析:
设sum=∑a[i],sum=0输出无解;
对于每个a[i]:
①如果100*a[i]%sum==0,那么p[i]=100*a[i]/sum且不能再更改;
②如果100*a[i]%sum!=0,那么p[i]=100*a[i]/sum,等待后续更改;
记录sum2=∑p[i],如果sum2<100,那么对于前100-sum2个可以更改的p[i]++,输出答案即可。
给几个数,算出每个数所占数的总和的百分比,所有的百分比加起来要等于100,取整的时候可以向上取整或向下。
分析:
设sum=∑a[i],sum=0输出无解;
对于每个a[i]:
①如果100*a[i]%sum==0,那么p[i]=100*a[i]/sum且不能再更改;
②如果100*a[i]%sum!=0,那么p[i]=100*a[i]/sum,等待后续更改;
记录sum2=∑p[i],如果sum2<100,那么对于前100-sum2个可以更改的p[i]++,输出答案即可。
#include <cstdio> #include <cstring>using namespace std;const int MAXN = 10005, INF = 1e9;int n = 0, a[MAXN] = {0};int p[MAXN] = {0}, sum = 0, sum2 = 0;bool able[MAXN] = {0};int main(){scanf("%d", &n);for(int i = 1; i <= n; ++i){scanf("%d", a+i);sum += a[i];}if(sum == 0){puts("No solution");return 0;}memset(able, true, sizeof(able));for(int i = 1; i <= n; ++i){if(100*a[i]%sum == 0) able[i] = false;p[i] = 100*a[i]/sum;sum2 += p[i];}sum2 = 100-sum2;for(int i = 1; i <= n && sum2; ++i)if(able[i]) p[i]++, sum2--;if(sum2){puts("No solution");return 0;}for(int i = 1; i <= n; ++i)printf("%d ", p[i]);return 0;}
0 0
- sgu152:Making round
- sgu152: Making round
- SGU 152 Making round(水~)
- AIM Tech Round (Div. 2)--B. Making a String
- Codeforces AIM Tech Round (Div. 2) B. Making a String
- cf#AIM Tech Round -B. Making a String-贪心/set
- Codeforces Round #379 (Div. 2) C. Anton and Making Potions
- Codeforces Round #379 (Div. 2) C. Anton and Making Potions
- AIM Tech Round (Div. 2)-B. Making a String(贪心)
- Codeforces AIM Tech Round (Div. 2) 624B Making a String
- Codeforces Round #379 (Div. 2) C. Anton and Making Potions//734C
- Codeforces Round #379 (Div. 2) -- C. Anton and Making Potions(简单的分类讨论 + 二分)
- Codeforces Round #379 (Div. 2)C. Anton and Making Potions(二分)
- Codeforces Round #379 (Div. 2) C. Anton and Making Potions(枚举+二分)
- Codeforces Round #379 (Div. 2) C. Anton and Making Potions —— 二分
- Codeforces Round #379 (Div. 2) C. Anton and Making Potions 枚举+二分
- code making
- Making Connections
- HTML入门笔记二之HTML符号实体和超链接
- xp里 多个文件夹都在状态栏集中显示?
- debian安装问题:Debootstrap错误无法确定发行版
- 怎样在word2010中任意页插入页眉和页脚
- contiki工作目录、makefile变量定义、C文件查找路径--hello-world和wismote为例
- sgu152:Making round
- uibutton 取消点击效果 btton.adjustsImageWhenHighlighted = NO;
- Delphi 提取TXT中的Email 数据
- Word2010如何从正文开始设置页眉页码?
- Linux下,多线程程序死循环问题调试
- java 从Java视角理解CPU上下文切换(Context Switch)
- Java8新特性 第10课-过滤器案例
- IOS开发---OC语言-⑱SEL的使用
- JSP详细篇——Java Web的数据库操作