第二次打CF,记得上一次已经是十几场前的事了,因为英语太渣加上网速太差,总是力不从心,更重要的是,我能力渣,这一次就看懂了俩题A和B,C题实在看不懂,猜样例也猜不出来个偏点儿,哎,先这样吧,完全就是在做阅读理解啊我……
A
Buy a Shovel
描述
题解
有不限数量的10元纸币和一枚面值为r的硬币,要求使用手中的这两种规格的货币买若干个铁锹,要求刚好买下(不能找零)。
这里需要注意的是,不一定两种货币都要用。
代码
#include <iostream>
using namespace std;
const int MAXN = 10000;
int main(int argc, const char * argv[])
{
int k, r;
while (cin >> k >> r)
{
for (int i = 1; i < MAXN; i++)
{
if (k * i % 10 == r || k * i % 10 == 0)
{
cout << i << '\n';
return 0;
}
}
}
return 0;
}
B
Cormen — The Best Friend Of a Man
描述
题解
相邻两天要求和至少为k。
代码
#include <iostream>
using namespace std;
const int MAXN = 505;
int walk[MAXN];
struct value
{
int val;
int pos;
} val[MAXN];
int main(int argc, const char * argv[])
{
int N, K;
cin >> N >> K;
for (int i = 0; i < N; i++)
{
cin >> walk[i];
}
int key = 0;
for (int i = 1; i < N; i++)
{
if (walk[i - 1] + walk[i] < K)
{
key += K - walk[i - 1] - walk[i];
walk[i] = K - walk[i - 1];
}
}
cout << key << '\n';
for (int i = 0; i < N - 1; i++)
{
cout << walk[i] << ' ';
}
cout << walk[N - 1] << '\n';
return 0;
}
C
如果我可以看懂题意的话,我就做了……/(ㄒoㄒ)/~~