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;
}
相关推荐
程序员老陆21 分钟前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
信奥卷王38 分钟前
[GESP202609 六级] 分树规划
算法
夏幻灵1 小时前
LeetCode 21:合并两个有序链表——双指针与哑节点详解
算法·leetcode·链表
徐小黑ACG2 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
Navigator_Z3 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
北极有牛3 小时前
cpp学习笔记--常量指针
java·开发语言·算法
GPU实战笔记3 小时前
云端 GPU 训练的账户余额提醒:它能说明什么,不能说明什么?
深度学习·算法·成本管理·gpu云计算·云端训练
半杯咖啡半行码4 小时前
C++ 编程与 STL 模板:从泛型编程到内存安全详解
开发语言·c++
浮链序4 小时前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm