تاپيک: درخواست كمك
نمايش پست تنها
قديمي ۰۴-۳۰-۱۳۹۱, ۰۴:۱۵ بعد از ظهر   #5 (لینک دائم)
md_azizian Male
عضو فوق فعال
 
آواتار md_azizian
 
تاريخ عضويت: اسفند ۱۳۹۰
پست ها: 23
تشكرها: 2
6 تشكر در 5 پست
پيش فرض

نقل قول:
نوشته اصلي بوسيله 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)
این طوری به نظر من بهتره
md_azizian آفلاين است   پاسخ با نقل قول