نقل قول:
نوشته اصلي بوسيله mahdiii
p چیه؟ اگه مثبت باشه q=max((abs(i-j)+p),(abs(i-k)+p),(abs(j-k)+p)) کفایت می کنه و دزسته ولی اگه مقدارش منفی باشه و طوری باشه که تمام عبارات abs(i-j)+p و abs(i-k)+p و abs(j-k)+p منفی بشه پس max آنها منفی میشه که غلطه چون بر اساس اونچه که تو تصویره جواب باید بزرگتر یا مساوی صفر بشه. بنابراین می تونیم عمل بالا رو به صورت زیر تصحیح کنیم:
q=max((abs(i-j)+p),(abs(i-k)+p),(abs(j-k)+p))
if (q<0)
q=0;
end
|
سلام
جواب اولیه من غلط بود زیرا اگه
i=j=k
باشه در اون صورت باید جواب صفر در بیاد در صورتی که در جواب پیشنهادی من برای این حالت جواب برابر p در میاد
بنابراین شاید بهتر باشه اول تک تک عبارات را تعیین تکلیف کنیم به صورت زیر
if i==j
p1=0
else p1=abs(i-j)+p
end
if i==k
p2=0
else p2=abs(i-k)+p
end
if k==j
p3=0
else p3=abs(k-j)+p
end
q=max(p1,p2,p3)
این طوری به نظر من بهتره