本题借助枚举算法
关键词:
1.五家的绳长不能相等
2.5个关系式的每个关系式恰好到水面,即均等于井深
#include <iostream>
using namespace std;
int main()
{
int k; // 定义井的最大深度
int s1,s2,s3,s4,s5; // 定义五家绳子的条数
cin >> k >> s1 >> s2 >> s3 >> s4 >> s5;
// 先把单位变为cm
k = k * 100;
// 分别枚举井的深度h和五家绳子的长度a、b、c、d、e
for(int h = 1; h <= k; h++)
{
for(int a = 1; a * s1 < h; a++)
{
// 要是找到符合条件的a的绳长和井的深度h了,根据关系式可知,在其他四家的绳长自然也就确定了,不需要再对这四家做for循环
int b = h - a * s1, c = h - b * s2, d = h - c * s3, e = h - d * s4; // 最后一个题设条件留作if判断的条件
if(a != b && a != c && a != d && a != e && b != c && b != d && b != e && c != d && c != e && d != e && e * s5 + a == h)
{
cout << h << " " << a << " " << b << " " << c << " " << d << " " << e << endl;
return 0;
}
}
}
cout << "Not Found" << endl;
return 0;
}