Codeforces Round 65 B. Progress Bar(71)

https://codeforces.com/contest/71/problem/B

以上是本题地址,大家可以注册,然后在上面练习。

/*
A progress bar 进度条 is an element of graphical interface that displays the progress of a process for this very moment before it is completed.
Lets take a look at the following form of such a bar.

A bar is represented as squares 正方形, located in line.
To add clarity 为了更加清晰, let's number them with positive integers from 1 to z from the left to the right.

Each square has saturation 饱和度 (ai for the i-th square),
which is measured 度量 by an integer from 0 to k.
When the bar for some i is displayed,
squares 1,2,..., i- 1 has the saturation k,
squares i+1,i+2, ..., n has the saturation 0,
and the saturation of the square i can have any value from 0 to k.

So some first squares of the progress bar always have the saturation.
Some last squares always have the saturation 0.
And there is no more than one square that has the saturation different from 0 and k.

The degree of the process's completion is measured in percents.
Let the process be t% completed. Then the following inequation is fulfilled:

An example of such a bar can be seen on the picture.
n = 10, k = 10, t = 54
a: 10 10 10 10 10 4 0 0 0 0

For the given n, k, t determine the measures of saturation for all the squares ai of the progress bar.

Examples

Input

10 10 54

Output

10 10 10 10 10 4 0 0 0 0

Input

11 13 37

Output

13 13 13 13 0 0 0 0 0 0 0

*/

原题

分析:10,10,54 就显示5个10,1个4,其余0

公式 5 = (n*k * t%) / 整除 k

公式 4 = (n*k * t%) % 取余 k

从以上就可以知道,这个程序大概意思。

以下是本人写的代码(这次未参考别人),由于简单,所以一次成功!

Codeforces Beta Round 65 (Div. 2)

cpp 复制代码
/*
A progress bar is an element of graphical interface that displays the progress of a process 
 for this very moment before it is completed.
 
Lets take a look at the following form of such a bar.

A bar is represented as  squares, located in line.
To add clarity, let's number them with positive integers from 1 to z from the lett to the right. 

Each square has saturation (a; for the i-th square), 
which is measured by an integer from 0 to k. 
When the bar for some i is displayed, 
squares 1,2,..., i- 1 has the saturation k, 
squares i+1,i+2, ..., n has the saturation 0, 
and the saturation of the square i can have any value from 0 to k.

So some first squares of the progress bar always have the saturation.
Some last squares always have the saturation 0. 
And there is no more than one square that has the saturation different from 0 and k.

The degree of the process's completion is measured in percents. 
Let the process be t% completed. Then the following inequation is fulfilled:

An example of such a bar can be seen on the picture.
n = 10 k = 10 t = 54
a: 10 10 10 10 10 4 0 0 0 0

For the given n, k, t determine the measures of saturation for 
all the squares ai of the progress bar.

Examples
Input
10 10 54

Output
10 10 10 10 10 4 0 0 0 0

Input
11 13 37

Output
13 13 13 13 0 0 0 0 0 0 0
*/


#include <iostream>
using namespace std;

void cal_progress_bar(int n, int k, int t)
{
	int product = n*k;
	int c1 = 0;
	c1 = t*product*0.01;

	int number1 = 0;
	int number2 = 0;

	number1 = c1 / k;
	
	number2 = c1 % k;

	char space1 = ' ';
	for (int i = 0; i < number1; i++)
	{
		cout << k << space1;
	}
	
	int len = 0;
	if (number2>0)
	{
		cout << number2 << space1;
		len= n - number1 - 1;
	}
	else
	{
		len = n - number1;
	}

	for (int i = 0; i < len; i++)
	{
		cout << 0 << space1 ;
	}

}

int main()
{
	int n = 0, k = 0, t = 0;
	while (cin >> n >> k >> t)
	{
		cal_progress_bar(n, k, t);
	}
	return 0;
}
相关推荐
森G7 分钟前
七、04ledc-sdk--------makefile有变化
linux·c语言·arm开发·c++·ubuntu
驱动探索者12 分钟前
linux mailbox 学习
linux·学习·算法
ringking12314 分钟前
autoware-1:安装环境cuda/cudnn/tensorRT库函数的判断
人工智能·算法·机器学习
大闲在人1 小时前
8. 供应链与制造过程术语:产能
算法·制造·供应链管理·智能制造·工业工程
橘颂TA1 小时前
【测试】高效浏览器操作:基础功能与优化设置大全
c++·功能测试·职场和发展·测试·web测试
一只小小的芙厨1 小时前
寒假集训笔记·以点为对象的树形DP
c++·算法
历程里程碑1 小时前
普通数组----合并区间
java·数据结构·python·算法·leetcode·职场和发展·tornado
艾莉丝努力练剑1 小时前
hixl vs NCCL:昇腾生态通信库的独特优势分析
运维·c++·人工智能·cann
执风挽^1 小时前
Python基础编程题2
开发语言·python·算法·visual studio code
我在人间贩卖青春1 小时前
C++之new和delete
c++·delete·new