Thursday, August 24, 2017

458 - The Decoder Uva Problem Solution & Logic

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=399

খুবই সহজ একটা সমস্যা , ASCII CODE  নিয়ে ধারণা থাকলে , খুব সহজেই বিষয়টি বুঝে ফেলার কথা ।। কারণ , আমরা যদি একটা ইনপুট এবং আউটপুট এর দিকে লক্ষ করি , তাহলে লক্ষ করতে পারি কি ??
চলো , দেখে আসি -------

1JKJ'pz'{ol'{yhklthyr'vm'{ol'Jvu{yvs'Kh{h'Jvywvyh{pvu5

 *CDC is the trademark of the Control Data Corporation.

 এখানে ,  1  এর যায়গায়  *  বসিয়েছি -- এটা না হয় আপাতত বাদই দিলাম , আগে আমরা অক্ষর নিয়ে চিন্তা করি , তাহলে সুবিধা হয় ।   J এর জায়গায়  C   &    K এর জায়গায়  D  বসিয়েছি , তাই না ??
দেখি তো , কোনো কিছু বোঝা যায় কি না ?? হুম , আশা করি - ধরতে পেরেছো  ।।  J এর চেয়ে ৭ অক্ষর পিছিয়ে   C  ও  K এর চেয়ে ৭ অক্ষর পিছিয়ে   D পাওয়া যায় ।।   

অনুরুপ ভাবে , আমরা যে * চিহ্ন বসিয়েছি , সেটার ASCII CODE  ,42  | অপরদিকে , 1 এর ASCII CODE, 49 ।।     কি , কিছু বুঝতে পারছো ??? 

#include<bits/stdc++.h>

using namespace std;

int main()

{
    int n=49;
    printf("%c",n);
}

এটা রান করলেই বুঝতে পারবে , 1 এর ASCII CODE, 49 ||  যাই হোক , তাহলে তুমি বুঝতে পারছো - এখানেও পারথক্য  7 ( 49 - 42 )  । । তাহলে আর কি , চলো - কোড দেখে ফেলি ------
 প্রথমে আমরা স্ট্রিং এর এক একটা ক্যারেক্টার এর অ্যাসকি কোড  একটা ইন্টিজার এর মধ্যে নিয়ে ,
৭ করে কমিয়ে সেটাকে আবার একটা ক্যারেক্টার-এ নিয়ে প্রিন্ট করে যাবো ----------



#include<bits/stdc++.h>

using namespace std;

int main()

{

    int l;

    string s;

    char c;

    int n;

    while(cin>>s)

    {
        l=s.size();

        for(int i=0;i<l;i++)
        {
            n=s[i];
            c=n-7;
            cout<<c;
        }
        cout<<endl;
    }

}

No comments:

Post a Comment