Codeforces Beta Round 65 (Div. 2)

Codeforces Beta Round 65 (Div. 2)

A.Way Too Long Words

字符串长度大于10,前后两个字符不动,中间求和,小于等于10字符的原样输出

void sovle()
{
	string s;
	cin >> s;
	if(s.size() <= 10)
		cout << s << endl;
	else
	{
		cout << s[0] << s.size() - 2 << s[s.size() - 1] << endl;
	}
}

B.Progress Bar

n个方块,每个方块的饱和度k,总进度为t,每个方块的饱和度为[1, k],只有一个方块的饱和度不等于0和k,输出【0...i-1k ,【i...n】个0

void sovle()
{
	ll i, n, k, t;
	cin >> n >> k >> t;
	ll m = n * k * t / 100;// 计算n*k中的每一个饱和度在100中的占比 100/(n*k)  再计算有多少饱和度 t/( 100/(n*k) )
	ll x = m / k;//每个方块有k份,m/k就是有几个方块 
	ll res = m - x * k;//剩余的份数
	for(i = 0; i < x; i ++)
		cout << k << ' ';
//	if(res)		输入17 13 100  x = 17   res = 0 不能用res判断,必须判断x的范围 
//		cout << res << ' ';
//	else
//		cout << 0 << ' ';
	if(x < n)
		cout << res << ' ';
	for(i = x + 1; i < n; i ++)
		cout << 0 << ' '; 
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值