https://www.devskill.com/CodingProblems/ViewProblem/277
খুবই সহজ একটি , সমস্যা ।। আগে আমরা একটা ছবি দেখে আসি ----------------------
তোমায় একটা , আয়তাকার ডিস দেয়া থাকবে , যেখানে সারি বরাবর ও কলাম বরাবর সরবোচ্চ কয়টা মিষ্টি রাখতে পারবে ?? সেটা বলে দেয়া থাকবে , তোমায় ।। তোমায় , ছবির মতো করে সাজাতে হবে , এভাবে ।। তারপর তোমায় বলতে হবে , এভাবে সরবোচ্চ কয়টা সাজানো যাবে ??? প্রত্যেকটি মিষ্টি'র দাম পনেরো টাকা তারপর , মোট সংখ্যার সাথে পনেরো দিয়ে গুণ দিলেই মোট টাকা বের হয়ে আসবে ।। তো , এখন বলো তো --- কয়টা রাখা যাবে মোট ?? এটা কিভাবে - বুঝবা ?????????????????
ধরে নেও , তোমায় দেয়া আছে 3 3 এর মানে , সারি বরাবরও তিনটা আবার কলাম বরাবরও তিনটা রাখা যায় , তাহলে কি করবে ??? উপরের চিত্র দেখলেই এর উত্তর পেয়ে যাবা , সমস্যা নাই ।।নিজে একটু হিসেব করে দেখো তো , মোট মিষ্টি আছে -- ১৪ টা ।।
তুমি যদি একটূ , চিন্তা করেই দেখো , তাহলে দেখতে পাবা -- বাটি'র প্রথম লেয়ারে আছে ,
r*m (3*3) = 9 pieces
সেকেন্ড লেয়ারে আছে ,
(r-1)*(m-1) (2*2) = 4 pieces
থার্ড লেয়ারে আছে ,
( r-2)*(m-2) (1*1) = 1 piece
এখন আর লেয়ার হবে না , কারণ আর একটা করে কমালে -- শূন্য হয়ে যাবে , তাই আর কোনো লেয়ার চাইলেও - তুমি করতে পারবে না ।। তো , তাহলে নিশ্চয় বুঝতে পারলে - আসলে কোণ সুত্র মেনে হচ্ছে ??? কাজগুলো ??? আমরাও ঠিক একই লজিক খাটাবো , যখনই যেকোনো একটা শূন্য হয়ে যাবে , তখনই লুপ থেকে বের হয়ে আসবো , চলো - কোড দেখে আসি ----------------
আগে নিজে ট্রাই করে নিও , তারপর কোড দেইখো
// Nayeem Shahriar Joy , Applied Physics & Electronic Engineering , University of Rajshai.
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long int t,r,m;
scanf("%d",&t);
for(int i=1;i<=t;i++)
{
cin>>r>>m;
long int sum=0;
while(true)
{
sum=sum+(r*m);
r--;
m--;
if(r*m==0)
{
break;
}
}
printf("Case %d: %ld\n",i,sum*15);
}
return 0;
}
খুবই সহজ একটি , সমস্যা ।। আগে আমরা একটা ছবি দেখে আসি ----------------------
তোমায় একটা , আয়তাকার ডিস দেয়া থাকবে , যেখানে সারি বরাবর ও কলাম বরাবর সরবোচ্চ কয়টা মিষ্টি রাখতে পারবে ?? সেটা বলে দেয়া থাকবে , তোমায় ।। তোমায় , ছবির মতো করে সাজাতে হবে , এভাবে ।। তারপর তোমায় বলতে হবে , এভাবে সরবোচ্চ কয়টা সাজানো যাবে ??? প্রত্যেকটি মিষ্টি'র দাম পনেরো টাকা তারপর , মোট সংখ্যার সাথে পনেরো দিয়ে গুণ দিলেই মোট টাকা বের হয়ে আসবে ।। তো , এখন বলো তো --- কয়টা রাখা যাবে মোট ?? এটা কিভাবে - বুঝবা ?????????????????
ধরে নেও , তোমায় দেয়া আছে 3 3 এর মানে , সারি বরাবরও তিনটা আবার কলাম বরাবরও তিনটা রাখা যায় , তাহলে কি করবে ??? উপরের চিত্র দেখলেই এর উত্তর পেয়ে যাবা , সমস্যা নাই ।।নিজে একটু হিসেব করে দেখো তো , মোট মিষ্টি আছে -- ১৪ টা ।।
তুমি যদি একটূ , চিন্তা করেই দেখো , তাহলে দেখতে পাবা -- বাটি'র প্রথম লেয়ারে আছে ,
r*m (3*3) = 9 pieces
সেকেন্ড লেয়ারে আছে ,
(r-1)*(m-1) (2*2) = 4 pieces
থার্ড লেয়ারে আছে ,
( r-2)*(m-2) (1*1) = 1 piece
এখন আর লেয়ার হবে না , কারণ আর একটা করে কমালে -- শূন্য হয়ে যাবে , তাই আর কোনো লেয়ার চাইলেও - তুমি করতে পারবে না ।। তো , তাহলে নিশ্চয় বুঝতে পারলে - আসলে কোণ সুত্র মেনে হচ্ছে ??? কাজগুলো ??? আমরাও ঠিক একই লজিক খাটাবো , যখনই যেকোনো একটা শূন্য হয়ে যাবে , তখনই লুপ থেকে বের হয়ে আসবো , চলো - কোড দেখে আসি ----------------
আগে নিজে ট্রাই করে নিও , তারপর কোড দেইখো
// Nayeem Shahriar Joy , Applied Physics & Electronic Engineering , University of Rajshai.
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long int t,r,m;
scanf("%d",&t);
for(int i=1;i<=t;i++)
{
cin>>r>>m;
long int sum=0;
while(true)
{
sum=sum+(r*m);
r--;
m--;
if(r*m==0)
{
break;
}
}
printf("Case %d: %ld\n",i,sum*15);
}
return 0;
}
২০১৬ কি ১৭ সালের দিকে ফেসবুকে একটা গ্রুপে পোষ্ট করেছিলাম একই ছবি দিয়ে। প্রশ্ন ছিল
ReplyDeleteএখানে কয়টা মিষ্টি আছে?
আজ আপনার ব্লোগ এব্যাপারে দেখলাম, অনেক ভাল লাগলো