题目:
船体的结构是不能随意修改的..那样会破坏整艘船和谐的韵律..
虽然说.如果沿岸航行的话是不会预见太大的海浪的..但是还要小心保护轨杆和船帆..
毕竟对于小s这样的单轨帆船...轨杆和船帆如果受损的话..那一定是很危险的...
而这种危险...通常是由于在颠簸中丧失了平衡造成的..
我们把目光聚焦在轨杆的结构...对于三角帆...可以把支撑它的三根横木之间连接的地方的耦合度记为a,b,c...
每根横木的耦合度计算方式不同...并且和长度和所使用的材料也没有必然联系....
《大航海家的旅行札记》一书告诉我们..如果可以刚好满足a+b>c..a-b
如果因为操作不当而触礁或者其它苛刻的自然条件下...船身造成了剧烈的颠簸..
那么不仅船只可能会出现漏水的情况...支撑船帆的三根横木..之间的平衡指数也会发生复杂的变化..
...每一次可以如下估计...
a`=b+c-a;
这个式子也适合其它两根横木...
而当a,b,c三个的数值无法构成一组三角形的时候...支撑船帆的桅杆[2]将坍塌...
我们想估计一下...这支船的轨杆最多可以承受住多少次剧烈摇晃...
这个关系到.我们可以航行到多远..
水题不解释。
但是我WA了两次,引以为戒。第二次:没有开long long
#include
using namespace std;
long long ans,a,b,c,ta,tb,tc;
bool ok(long long a,long long b,long long c)
{
if (a+b<=c) return false;
if (b+c<=a) return false;
if (a+c<=b) return false;
return true;
}
int main()
{
while (scanf("%lld %lld%lld",&a,&b,&c)!=EOF)
{
ans=-1;
while((ok(a,b,c))&&(ans<=1000))
{
ans++;
ta=a;tb=b;tc=c;
a=tb+tc-ta;
b=ta+tc-tb;
c=ta+tb-tc;
}
if (ans>1000) printf("The voyageseemed endless...");
else printf("%lld",ans);
printf("\n");
}
return 0;
}