একটি জুস মেশিন ও তার আত্ম-কাহিনী

প্রচন্ড গরম চারদিকে । ক্লাস করে বাসায় ফিরছ তুমি । মনে মনে ভাবছ বাড়ি ফিরে একগ্লাস ঠান্ডা শরবত হলে খারাপ হয় না । তুমি আবার বেশ স্বাস্থ্য সচেতন । বাজারের যেনতেন জিনিস তুমি খাওনা । স্বাস্থ্য ভাল রাখার জন্যে তোমার প্রয়োজন ফলের শরবত । তাই তুমি আসার পথে বাজার থেকে কিনে নিলে ঢাউস একটা তরমুজ ! তাড়াতাড়ি বাসায় ফিরে তোমার বাসার শো-কেসে সাজিয়ে রাখা জুস মেশিনটা বের করলে,আর তরমুজটা কেটে আস্ত ভরে দিলে ওই মেশিনটার ভেতর ! ব্লাইন্ড করার সুইচটা অন করে দিলে সাথে সাথে । কিন্তু ব্লাইন্ড হচ্ছে নাহ অনেকক্ষন চেষ্টার পর চালু হল মেশিনটা । ব্লাইন্ড করার শেষ হওয়ার পর তোমার জন্যে প্রস্তুত লাল টকটকে তরমুজের জুস !!! এতক্ষণ জুস বানানোর কথা শুনে তোমারও নিশ্চয় জুস খাওয়ার তেষ্টা পেয়ে গেছে ? হা,আমারও জুস খেতে বড্ড ইচ্ছে করছে । কিন্তু জুস খেতে যাওয়ার আগে তোমাকে কিছু কথা কানে কানে বলে যায়। এতক্ষণ যে জুস মেশিনের কথা আমি বললাম প্রোগ্রামিং-এ এই মেশিন গাল ভরা নামটা কি জানো? “কম্পাইলার”!! সত্যই “কম্পাইলার”!! (এই নামের জন্যে আমি দায়ী নয়…:P)  এ কটমটে নামটাই কিনা আমাদের প্রোগ্রামিং জীবনের শুরুতেই এটা কাজ করতে চাই নাহ এটা সমস্যা সেটা সমস্যা খালি সমস্যাই লেগে থাকে । আর আমাদের প্রোগ্রামিং – এর জুসের যে আনন্দ সেটা পেতে দেয় না !!! এইবার আর একটু সবুর করোঁ ,জুস আমরা এখনই খেতে যাব । যাওয়ার আগে ওই জুসটা কিভাবে বানাবো বা মেশিনটা কিভাকে কাজ করে তা একটু জেনে নি , ঠিক আছে ? হা , এই মেশিন থেকে জুস (মানে প্রোগামের আউটপুট) পেতে হলে এতে আমাদের  আগে দিতে হবে  একটা তরমুজ ( মানে-কোড )। কিন্তু আগে দেখে নিতে হবে তরমুজটা পচা নাহ কি ভাল (মানে-কোডে ভুল/বাগ) আছে কিনা ! সেটা দেখবে কি করে কেন ব্লাইন্ড...

গ্রাফ থিওরি এবং একটি রুপকথার গল্প

পোস্টের শুরু এক গল্প দিয়ে যেখানে এক রাজ্যে এক রাজার কোন সন্তান ছিল না । রাজার মনে খুব দুঃখ। রাজা আর রাণী সারাদিন মন খারাপ করে থাকে। এক দিন ভাগ্য দেবতা তাদের প্রতি প্রসন্ন হলেন। রাণীর গর্ভে সন্তান আসলো। কিন্তু গোল বাধলো ৯ মাস পর যখন সন্তান প্রসবের সময় আসলো রাণী এক মহা বিপদে পড়লেন রাজা সবাইকে বললেন যে যে কোন মুল্যে রাণীকে সুস্থ করে তুলতে হবে সবাই রাজার কথা মত রাণীর জন্য দাওয়াই খুজতে বের হল। সেখানে রাজার সেনাপতিরা এক অদ্ভুত সূর্যমুখী ফুলের সন্ধান পেলেন যেখানে ফুলটি দিনের রাতের বেলায়ও জ্বলজ্বল করে। সেনাপতি সেই ফুল রাণীর জন্য নিয়ে এলেন। এবং সেই ফুল ধোয়া পানি খেয়ে রাণী এক সুন্দর ফুটফুটে কন্যা সন্তান জন্ম দিলেন। যার চুল ছিল সোনালী আর সেই চুল ও কেউ গান গাইলে জ্বলজ্বল করতো। এখানে সেই ফুল ছিল এক ডাইনি বুড়ির দখলে যে তার ফুল হারিয়ে পাগল হয়ে গিয়েছিল। কারণ সেই ফুলের ছিল এক আশ্চর্য গুন যেখানে সেই ফুল কোন অসুস্থ মানুষকে সুস্থ করতে পারতো আর সেই ফুলের গুণে সেই ডাইনি আর যৌবন ধরে রাখতে পেরেছিল। ডাইনির নজর ছিল সেই রাজকন্যার উপর আর তাই এক রাতে সে সেই রাজকন্যাকে চুরি করে এক উচু টাওয়ারের উপর লুকিয়ে রাখলো আর তাকে বলল যে বাইরের দুনিয়া খুব ভয়ংকর সেখানে মোটেও যাওয়া যাবের না। আর সে নিজে তার মা সেজে তারসব কাজ করে দিত। ধীরে ধীরে সেই রাজকন্যা সেই ডাইনিকেই তার মা জেনে বড় হল আর জানল যে বাইরের দুনিয়া তার জন্য এক বিভিষীকাময় জায়গা। আমাদের সবার অবস্থা সেই রাজকন্যার মত। আমাদের ভেতরে এক ডাইনি বুড়ি সব সময় যে গ্রাফ থিওরি হল এক বিভিষীকাময় জায়গা আর আমরা ভয়তে সেদিকে ফিরেও তাকাই না। Back to the story: ধীরে ধীরে রাজকন্যার বয়স...

Light Oj 1102 – Problem Makes Problem

Problem Link Solution :- Problem Makes Problem C++ /****************************************************************** *** Problem Setter: Jane Alam Jan *** *** Uva Problem No: 1102 *** *** Problem Name : Problem Makes Problem *** *** Type : Modular Arithmetic,Math *** *** Author : Shipu Ahamed (Psycho Timekiller) *** *** E-mail : shipuahamed01@gmail.com *** *** University : BUBT,Dept. of CSE *** *** Team : BUBT_HIDDEN *** *** Facebook : http://www.facebook.com/DeesheharaShipu *** ******************************************************************/ #include <list> #include <set> #include <map> #include <ctime> #include <stack> #include <queue> #include <cmath> #include <deque> #include <limits> #include <string> #include <cctype> #include <cstdio> #include <vector> #include <bitset> #include <numeric> #include <cassert> #include <sstream> #include <fstream> #include <cstdlib> #include <cstring> #include <utility> #include <complex> #include <iomanip> #include <iostream> #include <iterator> #include <algorithm> using namespace std; #define sc scanf #define pf printf #define ll long long #define pi 2*acos(0.0) #define ull unsigned long long #define all(v) v.begin(),v.end() #define sii(t) scanf("%d",&t) #define sll(t) scanf("%lld",&t) #define ssii(a,b) scanf("%d%d",&a,&b) #define ssll(a,b) scanf("%lld%lld",&a,&b) #define Case(no) printf("Case %d: ",++no) #define P(a) printf("%dn",a) #define PL(a) printf("%lldn",a) #define PN(a) printf("%d",a) #define PLN(a) printf("%lld",a) #define ff first #define se second #define pb push_back #define ST(v) sort(all(v)) #define gcd(a,b) __gcd(a,b) #define lcm(a,b) (a*(b/gcd(a,b))) #define max3(a,b,c) max(a,max(b,c)) #define min3(a,b,c) min(a,min(b,c)) #define maxall(v) *max_element(all(v)) #define minall(v) *min_element(all(v)) #define cover(a,d) memset(a,d,sizeof(a)) #define popcount(i) __builtin_popcount(i) //count one #define input freopen("in.txt","r",stdin) #define output freopen("out.txt","w",stdout) #define un(v) ST(v), (v).earse(unique(all(v)),v.end()) #define common(a,b) ST(a), ST(b), a.erase(set_intersection(all(a),all(b),a.begin()),a.end()) #define uncommon(a,b) ST(a), ST(b), a.erase(set_symmetric_difference(all(a),all(b),a.begin()),a.end()) ////============ CONSTANT ===============//// #define mx (2000010) #define inf (1<<30) //infinity value #define eps 1e-9 #define mod 1000000007 ////====================================//// ll fact[mx],res,a; ll pow(ll a, ll b,ll Mod) { if(b==1) return a; ll x=pow(a,b/2,Mod); x=(x*x)%Mod; if(b%2==1) x=(x*a)%Mod; return x; } ll modInverse(ll...

Uva 12619 – Just Make A Wish

Problem Link Solution :- Just Make A Wish C++ /****************************************************************** *** Problewm : *** *** Author : Shipu Ahamed (Psycho Timekiller) *** *** E-mail : shipuahamed01@gmail.com *** *** University : BUBT,Dept. of CSE *** *** Team : BUBT_Psycho *** *** My Blog : http://shipuahamed.blogspot.com *** *** Facebook : http://www.facebook.com/DeesheharaShipu *** ******************************************************************/ #include <list> #include <set> #include <map> #include <ctime> #include <stack> #include <queue> #include <cmath> #include <deque> #include <limits> #include <string> #include <cctype> #include <cstdio> #include <vector> #include <bitset> #include <numeric> #include <cassert> #include <sstream> #include <fstream> #include <cstdlib> #include <cstring> #include <utility> #include <complex> #include <iomanip> #include <iostream> #include <iterator> #include <algorithm> using namespace std; #define sc scanf #define pf printf #define ll long long #define pi 2*acos(0.0) #define ull unsigned long long #define all(v) v.begin(),v.end() #define sii(t) scanf("%d",&t) #define sll(t) scanf("%lld",&t) #define ssii(a,b) scanf("%d%d",&a,&b) #define ssll(a,b) scanf("%lld%lld",&a,&b) #define Case(no) printf("Case %d:",++no) #define nl puts("") #define P(a) printf("%d\n",a) #define PL(a) printf("%lld\n",a) #define PN(a) printf("%d ",a) #define PLN(a) printf("%lld ",a) #define ff first #define se second #define pb push_back #define ST(v) sort(all(v)) #define gcd(a,b) __gcd(a,b) #define lcm(a,b) (a*(b/gcd(a,b))) #define max3(a,b,c) max(a,max(b,c)) #define min3(a,b,c) min(a,min(b,c)) #define maxall(v) *max_element(all(v)) #define minall(v) *min_element(all(v)) #define cover(a,d) memset(a,d,sizeof(a)) #define popcount(i) __builtin_popcount(i) //count one #define input freopen("in.txt","r",stdin) #define output freopen("out.txt","w",stdout) #define un(v) ST(v), (v).earse(unique(all(v)),v.end()) #define common(a,b) ST(a), ST(b), a.erase(set_intersection(all(a),all(b),a.begin()),a.end()) #define uncommon(a,b) ST(a), ST(b), a.erase(set_symmetric_difference(all(a),all(b),a.begin()),a.end()) ////============ CONSTANT ===============//// #define mx (1000000) #define inf (1<<30) //infinity value #define eps 1e-9 #define mod 1000000007 ////=====================================//// bool v[mx+10]; ll pd[mx+10]; ll fact[mx+10]; ll ans; void sieve(){ for (ll i = 2; i <=mx; i+= 2) pd[i] = 2; for (ll i = 3; i <=mx; i += 2){ if (!v[i]){...

Uva 344 – Roman Digititis

Problem Link Solution :- Roman Digititis C++ /****************************************************************** *** Uva Problem No: 344 *** *** Problem Name : Roman Digititis *** *** Type : Ad hoc *** *** Author : Shipu Ahamed (Psycho Timekiller) *** *** E-mail : shipuahamed01@gmail.com *** *** University : BUBT,Dept. of CSE *** *** Team : BUBT_HIDDEN *** *** Facebook : http://www.facebook.com/DeesheharaShipu *** ******************************************************************/ //ফালতু কেটাগরি প্রবলেমের কোনো জাতই নাহ মাথা নষ্ট কইরা দিছে পুরা #include <list> #include <set> #include <map> #include <ctime> #include <stack> #include <queue> #include <cmath> #include <deque> #include <limits> #include <string> #include <cctype> #include <cstdio> #include <vector> #include <bitset> #include <numeric> #include <cassert> #include <sstream> #include <fstream> #include <cstdlib> #include <cstring> #include <utility> #include <complex> #include <iomanip> #include <iostream> #include <iterator> #include <algorithm> using namespace std; #define sc scanf #define pf printf #define ll long long #define pi 2*acos(0.0) #define ull unsigned long long #define all(v) v.begin(),v.end() #define sii(t) scanf("%d",&t) #define sll(t) scanf("%lld",&t) #define ssii(a,b) scanf("%d%d",&a,&b) #define ssll(a,b) scanf("%lld%lld",&a,&b) #define Case(no) printf("Case %d: ",++no) #define P(a) printf("%dn",a) #define PL(a) printf("%lldn",a) #define PN(a) printf("%d",a) #define PLN(a) printf("%lld",a) int main() { string rom[] = {"i","v","x","l","c"}; char s; string mat; int n; while(sii(n)) { if(n==0) break; int p=0; int f=0; mat=""; map<string,int>mp; int a,he; for(int i=1,j=0;i<=n;i++,j++) { a=i; if(a>=90){ mp[rom[4]]++; if(a>=90 && a<100) mp[rom[2]]++; if(a==99) mp[rom[2]]++; } if(a>=40 && a<90){ mp[rom[3]]++; if(a>=40 && a<=49){ mp[rom[2]]++; } if(a==49) mp[rom[2]]++; if(a>=60) { he=a-50; mp[rom[2]]+=he/10; } } if(a>=59 && a<99) { if(a%10==9) mp[rom[2]]++; } if(a>=9 && a<40){ if(a%10==9) mp[rom[2]]++; mp[rom[2]]+=a/10; } if(a%10==1 || a%10==6 || a%10==9 || a%10==4) mp[rom[0]]++; if(a%10==2 || a%10==7) mp[rom[0]]+=2; if(a%10==3 || a%10==8) mp[rom[0]]+=3; if(a%10==4||a%10==5 || a%10==6 || a%10==7 || a%10==8) mp[rom[1]]++; } pf("%d: %d...