Saturday, October 14, 2017

DCP-277: Boshir Mishtanno Problem Solution & Logic

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;
}







1 comment:

  1. ২০১৬ কি ১৭ সালের দিকে ফেসবুকে একটা গ্রুপে পোষ্ট করেছিলাম একই ছবি দিয়ে। প্রশ্ন ছিল
    এখানে কয়টা মিষ্টি আছে?
    আজ আপনার ব্লোগ এব্যাপারে দেখলাম, অনেক ভাল লাগলো

    ReplyDelete