https://toph.co/p/red-and-green
খুবই মজার একটা প্রোবলেম , এখানে একটা ব্লকে অনেকগুলো নোড আছে , যার প্রথম নোডই লাল - আরেকদিকে , অপর নোড সবুজ - এরপরই একই ভাবে শুধু লাল ও সবুজ ।।। এখন তোমায় দুইটা - নোড নাম্বার X & Y দেয়া থাকবে , তোমায় বলতে হবে এই দুইটা নোড এর মাঝে - কয়টা নোড লাল ?? আর কয়টা নোড সবুজ ??? এটা এমন কি আর - কঠিন কাজ ?? একটু কষ্ট করে ভাবলেই সব ক্লু পাওয়া যাবে ।। যদি X==Y তাহলে , যদি X বিজোড় হয় তাহলে , লাল একটা ও সবুজ ০ টা এবং যদি X
জোড় হয় তাহলে , লাল ০ টা ও সবুজ ১ টা ।।
যদি X != Y হয় , তাহলে , মোট ৪'টা সম্ভাবনা হতে পারে --
X বিজোড় ও Y জোড়
X জোড় ও Y বিজোড়
X বিজোড় ও Y বিজোড়
X জোড় ও Y জোড়
এখন কোন'টা হলে - কি হবে ??? সেটা না হয় , একটু চিন্তা করেই দেখো আর না হয় কোড দেখে বুঝার চেষ্টা করো , কিভাবে কি হলো ??? নিজের মাথা'টা একটু কাজে লাগানোর ট্রাই করো ।
খুবই মজার একটা প্রোবলেম , এখানে একটা ব্লকে অনেকগুলো নোড আছে , যার প্রথম নোডই লাল - আরেকদিকে , অপর নোড সবুজ - এরপরই একই ভাবে শুধু লাল ও সবুজ ।।। এখন তোমায় দুইটা - নোড নাম্বার 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