题解 CF409C 【Magnum Opus】

· · 题解

愚人节题目,题面似乎是一位名叫Nicolas Flamel的炼金术士用拉丁文写的某种物质的配方,结合谷歌尝试翻译了一下:

吾友:

哲人石所言不虚,人不可貌相,海不可斗量,唯努力得胜万象,亦无物得自虚无生,以下乃配方:

硝酸一

王水一

粗汞二

铅七

矾四

混之,炀之,所求之物必由此出。勿轻浮处事,盖唯执着不辍,方能成其始终。

至信至诚

Nicolas Flamel

光看这封信似乎也不能看出题目要求要干什么,不过看了样例大概能懂一些了。

其实就是给定硝酸、王水、粗汞、铅、矾的量,问可以炼出多少这种物质。

所以只需要分别读入各种物质的量,除以它们的用量,最后输出最小项就可以了...

因此就有代码了:

#include <iostream>
#include <iomanip>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm> //头文件和命名空间
using namespace std;
int main(){
    ios::sync_with_stdio(false); //输入输出加速
    int arrSource[5],i; //arrSource-存放五种物质的数组,i-循环变量
    for (i = 0; i <= 4; ++i){ //输入五种物质的量
        cin >> arrSource[i];
    }
    arrSource[2] /= 2;
    arrSource[3] /= 7;
    arrSource[4] /= 4; //分别计算这五种物质单独可以炼出多少需要的东西,第一项和第二项因为只需要一份所以不加处理
    cout << *min_element(arrSource, arrSource + 5); //输出最小的那一项
    return 0;
}