– “Is this the easiest problem?”
– “Yes! it is the easiest one!”
খুব সহজ আর সোজাসাপ্টা UVa এর প্রবলেমটা পড়ে ফেলো নিচের লিংক থেকেঃ
UVa – 11479 Is this the easiest problem?
নিশ্চয়ই বুঝে ফেলেছো প্রবলেমটা! প্রথমে টেস্ট কেসের নাম্বার দেয়া থাকবে। এরপর প্রতিটা টেস্ট কেসের জন্য ৩ টা করে পূর্ণ সংখ্যা (32 bit integer) ইনপুট দেয়া হবে। তোমাকে বলতে হবে এই তিনটা সংখ্যা দিয়ে কী ধরণের ত্রিভুজ গঠন করা যায়? ত্রিভুজটা সমবাহু, দ্বি-সমবাহু নাকি বিষমবাহু সেটা বলতে হবে। যদি কোনটাই না হয় সেক্ষেত্রে সেটা কোন ত্রিভুজই না! অর্থাৎ Invalid.
ফার্স্ট সেমিস্টারে থাকতে যখন সলভ করেছিলাম তখন আমার লজিক ছিলঃ
প্রথমে চেক করব ত্রিভুজটা Invalid কিনা? এটার সূত্র ছিল ত্রিভুজের যে কোন দুই বাহুর সমষ্টি তৃতীয় বাহুর থেকে বড়। (a+c<=b || a+b<=c || c+b<=a), এগুলোর যে কোন একটা সত্য হলে প্রিন্ট করবে Invalid. যদি ত্রিভুজটা invalid না হয় তাহলে সমবাহু, দ্বি-সমবাহু বা বিষমবাহু এই তিনটার কোন একটা ক্যাটাগরিতে পড়বে।
যদি a==b এবং b==c এবং c==a এই তিনটি শর্তই সত্য হয় তার মানে a, b, c তিনটি সংখ্যাই সমান। অর্থাৎ এটি হবেঃ Equilateral বা সমবাহু ত্রিভুজ।
তা না হয়ে যদি a==b অথবা b==c অথবা c==a এই তিনটি শর্তের কোন একটি সত্য হয়, অর্থাৎ যে কোন দুটি বাহুর মান সমান হয় তাহলে সেটা Isosceles বা দ্বি-সমবাহু ত্রিভুজ।
উপরের তিনটার (Invalid, Equilateral, Isosceles) কোন একটা ক্যাটাগরিতে না পড়লে কোন চিন্তা করা ছাড়াই বলে দেয়া যায় এটা এমন একটা ত্রিভুজ যার কোন দুটি বাহুই সমান না। বিষমবাহু ত্রিভুজ বা Scalene.
তাহলে a, b, c তিনটা int টাইপের ভ্যারিয়েবল নিয়ে উপরের শর্তগুলো দিয়ে কোডটা করে সাবমিট করে দাও। ব্যস WA (Wrong Answer)! অনলাইন জাজে একটা প্রোগ্রাম সাবমিট করা হলে কেন WA আসে? না জানা থাকলে জেনে নিতে পারো এখান থেকে।
Input সেকশনটা ভাল করে পড়লে দেখবে ৩২ বিটের তিনটি signed integer ইনপুট দেয়া হবে। ৩২ বিটের ইন্টিজারের কথা শুনলেই আমাদের মনে হয় এটা বুঝি int এর রেঞ্জের মধ্যেই এঁটে যাবে। আসলে তা না। int টাইপের সর্বোচ্চ সংখ্যাটা হচ্ছে 231-1. তাই যদি 32 bit integer সংখ্যা নিয়ে কাজ করতে হয় তাহলে অবশ্যই long int টাইপের ডেটা নিয়ে কাজ করতে হবে। সুতরাং এই কোডের a, b, c ভ্যারিয়েবলগুলোকে long int হিসেবে ডিক্লেয়ার করো। যার format specifier হচ্ছে %ld.
এবার সব ঠিকঠাক মত করে কোড সাবমিট করো। আশা করি Accepted হবেই!
হ্যাপি প্রবলেম সলভিং… 🙂
Thanks for good article
You are most welcome. 🙂
Vaia, If i am submitting the problem then Submission received with ID 18240020.But accepted ,wrong answer ,TLA nothing come.I am confused of my submission.
From Left side menu go to “My uHunt with Virtual Contest Service”. You’ll find your own dashboard.
Any trouble? Please let me know.
The first line of input will contain a positive integer T < 20, where T denotes the number of test cases.
Each of the next T lines will contain three 32 bit signed integer.