مساله ۱ - 10055-Hashmat the brave warrior
ترجمه سربع من :
حشمت جنگجو شجاع
حشمت با هم رزم هایش از یک مکان به مکان دیگر جابجا می شود برای مبارزه کردن با دشمنانشان. قبل از مبارزه یک چیز رو محاسبه می کند، اختلاف تعداد سربازان خودش با دشمن. و با این محاسبه تصمیم می گیرد که مبارزه کند یا خیر.تعداد سربازان حشمت هرگز بیشتر از دشمنان نش نیست.
ورودی :
دو عدد در هر خط. این دو عدد سرباز های ارتش حشمت و دشمن را نشان می دهد یا برعکس. این دو عدد بزرگتر از ۲۳۲ نیستند. ورودی با End of File تمام می شود.
خروجی :
در هر خط اختلاف بین سرباز سرباز های حشمت و دشمن را چاپ کند.
ورودی نمونه :
10 12
10 14
100 200
خروجی نمونه :
2
4
100
--------------------------------------------
سوال به صورت خیلی خلاصه : یه ورودی داریم که در هر خط دو عدد میاد، اختلاف بین دو عدد را در هر خط چاپ کنید.
نکته : حواسمون به اختلاف باشه. اختلاف هیچ وقت منفی نمیشه.
کدی که من نوشتم و جواب گرفتم. لینک
متغیر رو long int کردم و جواب گرفتم. لینک
ورودی نمونه : in
خروجی نمونه: out
دستور های من:
gcc 10055.c
./a.out < in > out
vimdiff out out.true
ورودی و خروجی تست رو از اینجا گرفتم.
https://www.udebug.com/UVa/10055
*بیشتر مشکلم با پایان شرط حلقه بود و پیدا کردن پایان فایل که این مشکلم رو حل کرد .
while(scanf("%ld%ld",&a,&b) == 2) { ... }
پ ن : در مورد اندازه های متغیر ها هم باید بیشتر بدونم.
- ۰ نظر
- ۰۱ اسفند ۹۴ ، ۰۰:۳۷