/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / hackerrank / 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 kk=1, tc, n, m, fibo[50]; string s; cin>>tc; fibo[0]=fibo[1]=1; for(int i=2;i<=45;i++) fibo[i]=fibo[i-1]+fibo[i-2]; //cout<<fibo[45]<<endl; while(tc--) { cin>>n; //cout<<"Case "<<kk++<<": "; int pos=44; while(fibo[pos]>n) pos--; while(pos) { if(n>=fibo[pos]) { cout<<"1"; n-=fibo[pos]; } else cout<<"0"; pos--; } cout<<"\n"; } return 0; }
Sunday, 10 May 2015
UVA 11089 Fi-binary Number
Tuesday, 5 May 2015
UVA 441 Lotto (POJ 2245, ZOJ 1089, FZU 1047, HDU 1342, SCU 1027)
/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / hackerrank / 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 arr[15], now[7], n; bool vis[15]; void backTrack(int sz, int pos) { if(sz==6) { for(int i=0;i<5;i++) cout<<now[i]<<" "; cout<<now[5]<<"\n"; return; } for(int i=pos;i<n;i++) if(!vis[i]) { vis[i]=true; now[sz]=arr[i]; backTrack(sz+1, i+1); vis[i]=false; } return; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=0; string s; while(cin>>n && n) { for(int i=0;i<n;i++) cin>>arr[i]; if(kk) cout<<"\n"; backTrack(0, 0); kk++; } return 0; }
UVA 562 Dividing coins (UVALive 5583, Regionals 1996 >> Europe - Northwestern)
/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / hackerrank / 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 arr[105], dp[105][50005], n, tot; int func(int pos, int taken) { if(pos>=n) return abs(taken - (tot-taken)); int &ret=dp[pos][taken]; if(ret!=-1) return ret; ret=min(func(pos+1, taken), func(pos+1, taken+arr[pos])); return ret; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=1; string s; cin>>tc; while(tc--) { cin>>n; tot=0; for(int i=0;i<n;i++) { cin>>arr[i]; tot+=arr[i]; } SET(dp); cout<<func(0, 0)<<"\n"; } return 0; }
UVA 324 Factorial Frequencies (POJ 1454, UVALive 5432, Regionals 1993 >> North America - North Central NA)
import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int[] arr = new int[12]; int n; while(sc.hasNext()) { BigInteger fact = BigInteger.ONE; for(int i=0;i<10;i++) arr[i]=0; n=sc.nextInt(); if(n==0) break; for(int i=2;i<=n;i++) fact = fact.multiply(BigInteger.valueOf(i)); String s = fact.toString(); int sl = s.length(); for(int i=0;i<sl;i++) arr[ s.charAt(i)-48 ]++; System.out.println(n+"! --"); System.out.printf(" (0)%5d (1)%5d (2)%5d (3)%5d (4)%5d\n", arr[0], arr[1], arr[2], arr[3], arr[4]); System.out.printf(" (5)%5d (6)%5d (7)%5d (8)%5d (9)%5d\n", arr[5], arr[6], arr[7], arr[8], arr[9]); } } }
UVA 10131 Is Bigger Smarter?
/// Raihan Ruhin /// CSE, Jahangirnagar University. /// Dhaka-Bangladesh. /// id: raihanruhin (topcoder / codeforces / codechef / hackerrank / 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 path[1005], w[1005], s[1005], dp[1005], n; int func(int pos) { if(pos>=n) return 0; int &ret=dp[pos]; if(ret!=-1) return ret; int mx=0; for(int i=0;i<n;i++) if(w[i]>w[pos] && s[i]<s[pos]) { int val = func(i); if(val>mx) { mx=val; path[pos]=i; } } ret=mx+1; return ret; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=1; //string s; n=0; while(cin>>w[n]>>s[n]) { n++; } SET(dp); SET(path); int mx=0, st; for(int i=0;i<n;i++) { int val=func(i); //cout<<val<<endl; if(val>mx) { st=i; mx=val; } } cout<<mx<<"\n"; while(path[st]!=-1) { cout<<st+1<<"\n"; st=path[st]; } cout<<st+1<<"\n"; return 0; }
Subscribe to:
Posts (Atom)