/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / uva), 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 ring[20], n; bool isPrime[33], taken[20]; void print() { cout<<ring[1]; for(int i=2;i<=n;i++) cout<<" "<<ring[i]; cout<<"\n"; return; } void backTrack(int tot, int lst) //(total taken already, last taken number) { if(tot==n) { if(isPrime[lst+1]) print(); return; } for(int i=2;i<=n;i++) if(!taken[i]) if(isPrime[lst+i]) { taken[i]=1; ring[tot+1]=i; backTrack(tot+1, i); taken[i]=0; } return; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int kk=1, tc, m; string s; isPrime[2]=isPrime[3]=isPrime[5]=isPrime[7]=isPrime[11]=isPrime[13]=isPrime[17]=isPrime[19]=isPrime[23]=isPrime[29]=isPrime[31]=1; while(cin>>n) { CLR(taken); CLR(ring); ring[1]=taken[1]=1;//first circle fixed if(kk>1) cout<<"\n"; cout<<"Case "<<kk++<<":\n"; backTrack(1, 1); //first circle taken } return 0; }
Showing posts with label SCU. Show all posts
Showing posts with label SCU. Show all posts
Friday, 8 July 2016
Prime Ring Problem (UVA 524, HDU 1016, UVALive 5270, ZOJ 1457, SCU 1545, Regionals 1996 >> Asia - Shanghai)
Wednesday, 2 March 2016
Word Index (UVA 417, UVALive 5392, ZOJ 1342, POJ 1496, HDU 1336, SCU 1024)
/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / uva / uvalive / spoj), 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 100000 map<string, int> mp; int cnt; void precal(string s, int len) { if(s.length()==len) { mp[s]=cnt++; return; } //cout<<s<<endl; char lst; if(s.length()==0) lst='a'; else lst = s[s.length()-1]+1; for(char ch=lst;ch<='z';ch++) precal(s+ch, len); return; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=1, n; string s; cnt=1; for(int i=1;i<=5;i++) { precal("", i); // cout<<i<<endl; } while(cin>>s) { cout<<mp[s]<<"\n"; } return 0; }
Monday, 21 December 2015
The Next Permutation (UVALive 4556, HDU 3283, POJ 3785, SCU 3485, Regionals 2009 >> 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 100000 int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=1, n, m, x, y, a, b, c, digit[10]; string s; cin>>tc; while(tc--) { cin>>n; cin>>s; int sl=s.size(), index=-1; for(int i=sl-1;i>=0;i--) { for(int j=sl-1;j>i;j--) if(s[j]>s[i]) { swap(s[i], s[j]); index=i+1; break; } if(index!=-1) break; } if(index==-1) cout<<kk++ <<" BIGGEST\n"; else { cout<<kk++<<" "; CLR(digit); for(int i=index;i<sl;i++) digit[s[i]-'0']++; for(int i=0;i<index;i++) cout<<s[i]; for(int i=0;i<10;i++) while(digit[i]--) cout<<i; cout<<"\n"; } } return 0; }
Wednesday, 30 September 2015
UVA 1185 Big Number (UVALive 2697, HDU 1018, POJ 1423, ZOJ 1526, SCU 3094, Regionals 2002 >> Asia - Dhaka)
#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 double digit[10000000+10]; void precal() { digit[1]=log10(1); for(int i=2;i<=10000000;i++) digit[i]=digit[i-1]+log10(i); return; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int n, tc; precal(); cin>>tc; while(tc--) { cin>>n; cout<<(int)digit[n]+1<<"\n"; } return 0; }
UVA 640 Self Numbers (UVALive 5326, POJ 1316, HDU 1128, ZOJ 1180, SCU 2843, Regionals 1998 >> North America - Mid-Central USA)
/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / uva / uvalive / spoj), 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 1000010 bool status[MX]; int func(int n) { int nn=n; while(n) { nn+=n%10; n/=10; } return nn; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=1, n; string s; char ch; for(int i=1;i<=1000000;i++) if(!status[i]) { cout<<i<<"\n"; for(int j=i;j<=1000000;) { j = func(j); if(status[j]) break; status[j]=true; } } return 0; }
Wednesday, 23 September 2015
The Hardest Problem Ever (UVALive 2540, POJ 1298, HDU 1048, ZOJ 1392, SCU 1006, Regionals 2002 >> North America - South Central USA)
/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / uva / uvalive / spoj), 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; string s; char ch; while(getline(cin, s) && s=="START") { while(getline(cin, s) && s!="END") { for(int i=0;i<s.size();i++) if(s[i]>='A' && s[i]<='Z') if(s[i]>='F') s[i]=s[i]-5; else s[i]=s[i]+21; cout<<s<<"\n"; } } return 0; }
Subscribe to:
Posts (Atom)