/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / uva / uvalive), 3235 (lightoj) /// mail: raihanruhin@ (yahoo / gmail / facebook) /// blog: ruhinraihan.blogspot.com #include<bits/stdc++.h> using namespace std; #define SET(a) memset(a,-1,sizeof(a)) #define CLR(a) memset(a,0,sizeof(a)) #define PI acos(-1.0) #define MOD 1000000007 #define MX 100010 int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=1, n, m, x, y, a, b, c; string s; while(cin>>s) { if(s=="#") return 0; n=0; int sl=s.size(); for(int i=0;i<sl;i++) { int p6 = pow(6, sl-i-1), digit; //%)~@?\$ if(s[i]=='%') digit=0; else if(s[i]==')') digit=1; else if(s[i]=='~') digit=2; else if(s[i]=='@') digit=3; else if(s[i]=='?') digit=4; else if(s[i]=='\\') digit=5; else if(s[i]=='$') digit=-1; n+=digit*p6; } cout<< n <<"\n"; } return 0; }
Monday, 7 September 2015
Wacmian Numbers (UVALive 2731, Regionals 2003 >> South Pacific)
Repeating Characters (UVALive 5800, HDU 4236, Regionals 2011 >> North America - Greater NY)
/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / uva / uvalive), 3235 (lightoj) /// mail: raihanruhin@ (yahoo / gmail / facebook) /// blog: ruhinraihan.blogspot.com #include<bits/stdc++.h> using namespace std; #define SET(a) memset(a,-1,sizeof(a)) #define CLR(a) memset(a,0,sizeof(a)) #define PI acos(-1.0) #define MOD 1000000007 #define MX 100010 int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=1, n, m, x, y, a, b, c, r; string s; cin>>tc; while(tc--) { cin>>n>>r>>s; cout<<n<<" "; for(int i=0;i<s.size();i++) for(int j=0;j<r;j++) cout<<s[i]; cout<<"\n"; } return 0; }
Penney Game (UVALive 4873, CSU 1130, SPOJ NY10A, Regionals 2010 >> North America - Greater NY)
/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / uva / uvalive), 3235 (lightoj) /// mail: raihanruhin@ (yahoo / gmail / facebook) /// blog: ruhinraihan.blogspot.com #include<bits/stdc++.h> using namespace std; #define SET(a) memset(a,-1,sizeof(a)) #define CLR(a) memset(a,0,sizeof(a)) #define PI acos(-1.0) #define MOD 1000000007 #define MX 100010 int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=1, n, m, x, y, a, b, c; string s; cin>>tc; while(tc--) { cin>>n; map<string, int>mp; cin>>s; for(int i=2;i<40;i++) { string tmp=""; tmp+=s[i-2]; tmp+=s[i-1]; tmp+=s[i]; mp[tmp]++; } cout<<n<<" "; cout<<mp["TTT"]<<" "<<mp["TTH"]<<" "<<mp["THT"]<<" "<<mp["THH"]<<" "<<mp["HTT"]<<" "<<mp["HTH"]<<" "<<mp["HHT"]<<" "<<mp["HHH"]<<"\n"; } return 0; }
No Brainer (UVALive 3077, ZOJ 2201, POJ 2027, Regionals 2004 >> North America - South Central USA)
/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / uva / uvalive), 3235 (lightoj) /// mail: raihanruhin@ (yahoo / gmail / facebook) /// blog: ruhinraihan.blogspot.com #include<bits/stdc++.h> using namespace std; #define SET(a) memset(a,-1,sizeof(a)) #define CLR(a) memset(a,0,sizeof(a)) #define PI acos(-1.0) #define MOD 1000000007 #define MX 100010 int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=1, n, m, x, y, a, b, c; string s; cin>>tc; while(tc--) { cin>>x>>y; if(y>x) cout<<"NO BRAINS\n"; else cout<<"MMM BRAINS\n"; } return 0; }
Sunday, 6 September 2015
Largest Rectangle in a Histogram (SPOJ HISTOGRA, POJ 2559, HDU 1506, ZOJ 1985)
/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / uva / uvalive), 3235 (lightoj) /// mail: raihanruhin@ (yahoo / gmail / facebook) /// blog: ruhinraihan.blogspot.com #include<bits/stdc++.h> using namespace std; #define SET(a) memset(a,-1,sizeof(a)) #define CLR(a) memset(a,0,sizeof(a)) #define PI acos(-1.0) #define MOD 1000000007 #define MX 100005 long long hist[MX]; int lft[MX], rgt[MX]; void Histogram(int n) { stack<long long>stk; stk.push(0); hist[0]=-1; for(int i=1;i<=n;i++) { while(hist[stk.top()]>=hist[i]) stk.pop(); lft[i]= stk.top()+1; stk.push(i); } while(!stk.empty()) stk.pop(); stk.push(n+1); hist[n+1]=-1; for(int i=n;i>0;i--) { while(hist[stk.top()]>=hist[i]) stk.pop(); rgt[i]= stk.top()-1; stk.push(i); } return; } int main() { //ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=1, n, m, x, y, a, b, c; string s; //cin>>tc; while(cin>>n && n) { for(int i=1;i<=n;i++) cin>>hist[i]; Histogram(n); long long mx=0; for(int i=1;i<=n;i++) mx=max(mx, hist[i]*(long long)(rgt[i]-lft[i]+1)); //cout<<hist[i]<<" "<<lft[i]<<" "<<rgt[i]<<endl; cout<< mx <<"\n"; } return 0; }
Subscribe to:
Posts (Atom)