D - Swap Hats || AtCoder Beginner Contest 244
প্রব্লেম স্টেটমেন্টঃ
টাকাহাসির কাছে তিনটি ক্যাপ আছে। S1, S2, S3। ক্যাপগুলোর দুটি করে নিয়ে ঠিক 10^18 বার সোয়াপ করে সাজাতে হবে যাতে GIVEN - T1, T2, T3 এর সাথে পুরোপুরি মিলে যায়।
সলিউশনঃ
দুটি ক্যাপ যদি আগে থেকে সাজানো থাকে বা অন্যভাবে বলতে গেলে তিনটি ক্যাপ যদি সাজানো থাকে (কারণ দুটি মিলে গেলে, বাকিটিও মিলে যাবে), তাহলে আন্সার হবে YES । কারণ যেকোন দুটো ক্যাপ নিয়ে জোড় সংখ্যক বার সোয়াপ করলে ঠিক যেমন ছিল তেমন টায় পাওয়া যাবে।
যদি কোন টি সাজানো না থাকে। তাহলে দুটো সোয়াপের মাধ্যমে সবগুলোকে সাজিয়ে ফেলা সম্ভব। তারপর বাকি 10^18 - 2(ইভেন) টি সোয়াপের মাধ্যমে ঠিক আগের অবস্থাতে ফিরে যাওয়া সম্ভব। তাই আন্সার হবে YES ।
যদি একটি সাজানো থাকে, তাহলে তিনটিকে সাজাতে গেলে সোয়াপ লাগবে বিজোড় সংখ্যক।
যেমন- R G B
B G R
এবং এই কেসে আন্সার হবে NO।
কোডঃ
Comments
Post a Comment