Codeforces Beta Round 65 (Div. 2)
字符串长度大于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;
}
}
n个方块,每个方块的饱和度k,总进度为t,每个方块的饱和度为[1, k],只有一个方块的饱和度不等于0和k,输出【0...i-1】个k ,【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 << ' ';
}