/// 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 mat[10][10], mx, n; bool board[10][10]; bool isSafe(int row, int col) { //left for(int i=0;i<col;i++) if(board[row][i]) return false; //upper left for(int i=row, j=col;i>=0 && j>=0;i--, j--) if(board[i][j]) return false; //bottom left for(int i=row, j=col;i<n && j>=0;i++, j--) if(board[i][j]) return false; return true; } void solveNQ(int col) { if(col>=n) { int sum=0; for(int i=0;i<n;i++) for(int j=0;j<n;j++) if(board[i][j]) sum+=mat[i][j]; mx=max(mx, sum); } for(int i=0;i<n;i++) if(isSafe(i, col)) { board[i][col]=true; solveNQ(col+1); board[i][col]=false; } return; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int kk=1, tc, m; n=8; string s; cin>>tc; while(tc--) { for(int i=0;i<n;i++) for(int j=0;j<n;j++) cin>>mat[i][j]; CLR(board); mx=0; solveNQ(0); //cout<<"Case "<<kk++<<": "<< mx <<"\n"; cout<<setw(5)<<mx<<"\n"; } return 0; }
Friday, 7 August 2015
UVA 167 The Sultan's Successors (UVALive 5227, SCU 1033, HDU 1642, Regionals 1991 >> South Pacific)
Tuesday, 4 August 2015
UVa 12065 - Permutation Primes (UVALive 3017, Regionals 2004 >> Asia - Dhaka)
/// 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 1111111 int digit[10], digitLength; void makeDigit(int n) { digitLength=0; while(n) { digit[digitLength++]=n%10; n/=10; } sort(digit, digit+digitLength); return; } vector<int>prime; bool status[MX+2]; void PrimeGenerate(int n) { int sq=sqrt(n); for(int i=3; i<=sq; i+=2) { if(!status[i]) for(int j=i*i; j<=n; j+=(i<<1)) status[j]=true; } status[0]=status[1]=true; for(int i=4;i<=n;i+=2) status[i]=true; /*prime.push_back(2); for(int i=3; i<=n; i+=2) if(!stats[i]) prime.push_back(i);*/ return; } int permute(int n) { int num, p; makeDigit(n); do{ num=0; for(int i=0;i<digitLength;i++) num=num*10+digit[i]; p=abs(n-num)/9; if(p<MX && !status[p]) return 1; }while(next_permutation(digit, digit+digitLength)); return 0; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int kk=1, tc, n, m, p, q; string s; PrimeGenerate(MX); cin>>tc; while(tc--) { cin>>p>>q; if(p>q) swap(p, q); int cnt=0; for(int i=p;i<=q;i++) { if(permute(i)) cnt++; } cout<<"Case "<<kk++<<": "<< cnt <<"\n"; } return 0; }
UVA 10130 SuperSale
/// 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 n, dp[1002][32], val[1002], wgt[1002]; int func(int object, int weight) { if(object==n) return 0; int &ret=dp[object][weight]; if(ret!=-1) return ret; ret=func(object+1, weight); if(weight>=wgt[object]) ret=max(ret, val[object]+func(object+1, weight-wgt[object])); return ret; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int kk=1, tc, m, g, mw; string s; cin>>tc; while(tc--) { cin>>n; for(int i=0;i<n;i++) cin>>val[i]>>wgt[i]; SET(dp); int tot=0; cin>>g; while(g--) { cin>>mw; tot+=func(0, mw); } //cout<<"Case "<<kk++<<": "<< <<"\n"; cout<<tot<<"\n"; } return 0; }
Tuesday, 30 June 2015
UVA 10283 The Kissing Circles
/// 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 tc, kk=1; double R, n, theta, r, midR, area_midR, blue, green, triangleArea, sectorArea; string s; while(cin>>R>>n) { if(n==1) { cout<<R<<" "<<0.0<<" "<<0.0<<"\n"; continue; } theta=180.0/n; r = R*(sin(theta*PI/180.0)) / (1+sin(theta*PI/180.0)); midR = R-r; triangleArea = midR*cos(theta*PI/180.0)*r; //cout<<triangleArea<<endl; sectorArea = (90-theta) / 180 * PI * r * r; //cout<<sectorArea<<endl; blue = n*(triangleArea - sectorArea); green = PI*R*R - n*PI*r*r - blue; cout<<setprecision(10)<<fixed<<r<<" "<<blue<<" "<<green<<"\n"; } return 0; }
Subscribe to:
Posts (Atom)