ACM模版

第二次打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ㄒ)/~~