Thursday, August 17, 2017

Red and Green Toph Problem Solution & LOgic

https://toph.co/p/red-and-green


খুবই মজার একটা প্রোবলেম , এখানে একটা ব্লকে অনেকগুলো নোড আছে , যার প্রথম নোডই লাল - আরেকদিকে , অপর নোড সবুজ - এরপরই একই ভাবে শুধু লাল ও সবুজ ।।। এখন তোমায় দুইটা - নোড নাম্বার   X    &   Y   দেয়া থাকবে , তোমায় বলতে হবে এই দুইটা নোড এর মাঝে - কয়টা নোড লাল ?? আর কয়টা নোড সবুজ ??? এটা এমন কি আর - কঠিন কাজ ??  একটু কষ্ট করে ভাবলেই সব ক্লু পাওয়া যাবে ।। যদি  X==Y তাহলে , যদি X  বিজোড় হয় তাহলে , লাল একটা ও সবুজ ০ টা এবং যদি  X
জোড় হয় তাহলে ,  লাল ০ টা ও সবুজ ১ টা ।।

যদি   X != Y  হয় ,  তাহলে  ,  মোট  ৪'টা   সম্ভাবনা  হতে পারে --

  X  বিজোড়  ও  Y  জোড় 

  X  জোড়  ও  Y  বিজোড়

  X   বিজোড়  ও  Y  বিজোড়

  X   জোড়  ও  Y  জোড়

এখন কোন'টা হলে - কি হবে ??? সেটা না হয় , একটু চিন্তা করেই দেখো আর না হয় কোড দেখে বুঝার চেষ্টা করো , কিভাবে কি হলো ???  নিজের মাথা'টা একটু কাজে লাগানোর ট্রাই করো ।



#include <bits/stdc++.h>

using namespace std;
 
int main()
 
{
 
    long long int t, n, m, x, y;
 
    cin >> t;
 
    while(t--)
 
    {
        cin >> n >> m;
 
        while(m--)
 
        {
            cin >> x >> y;
 
            if(x == y)
 
            {
                if(x%2!=0)
 
 
                 cout << 1 << " " << 0 << endl;
 
 
                else 
                         {
 
                         cout << 0 << " " << 1 << endl;
                   }
 
            else if(x%2!=0 && y%2==0) cout << ((y-x)/2)+1 << " " << ((y-x)/2)+1 << endl;
            else if(x%2==0 && y%2!=0) cout << ((y-x)/2)+1 << " " << ((y-x)/2)+1 << endl;
            else if(x%2!=0 && y%2!=0) cout << ((y-x)/2)+1 << " " << (y-x)/2 << endl;
            else if(x%2==0 && y%2==0) cout << (y-x)/2 << " " << ((y-x)/2)+1 << endl;
        }
    }
 return 0;
 
}

No comments:

Post a Comment