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;
}
相关推荐
序属秋秋秋2 小时前
《C++进阶之C++11》【智能指针】(下)
c++·笔记·学习·面试·c++11·智能指针·新特性
Mr.Ja2 小时前
【LeetCode热题100】No.1——两数之和(Java)
java·算法·leetcode
Mingze03143 小时前
考研408之栈与队列学习
开发语言·c++·学习·考研·算法
青草地溪水旁3 小时前
第五章:原型模式 - 克隆大法的大师
c++·设计模式·原型模式
艾醒3 小时前
探索大语言模型(LLM):大模型微调方式全解析
人工智能·算法
从前慢,现在也慢3 小时前
【STL学习】(9)priority_queue
c++·学习
序属秋秋秋3 小时前
《C++进阶之C++11》【智能指针】(上)
c++·笔记·学习·面试·c++11·智能指针·新特性
guigu20123 小时前
C++ STL 深度解析:容器、迭代器与算法的协同作战
c++·嵌入式编程
Yupureki3 小时前
从零开始的C++学习生活 3:类和对象(中)
c语言·c++·学习·visual studio