/// 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 bool status[65010]; void primeGenerator(int n) { int sq=sqrt(n); status[0]=status[1]=true; for(int i=3;i<=sq;i+=2) if(!status[i]) for(int j=i*i;j<=n;j+=i) status[j]=true; return; } long long bigMod(long long base, long long power, long long mod) { long long ret=1; while(power) { if(power & 1) ret=(ret*base)%mod; base = (base*base)%mod; power=power>>1; } return ret; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); long long n, tc, kk=1; string s; primeGenerator(65005); while(cin>>n && n) { bool chk=true; if(!status[n]) { cout<<n<<" is normal.\n"; continue; } for(long long i=2;i<n;i++) if(bigMod(i, n, n)!=i) { chk=false; break; } if(chk) cout<<"The number "<<n<<" is a Carmichael number.\n"; else cout<<n<<" is normal.\n"; } return 0; }
Thursday, 30 April 2015
UVA 10006 Carmichael Numbers
Wednesday, 29 April 2015
UVA 11195 Another n-Queen Problem
/// 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 string board[16]; int n, cnt; void nq(int row, int col, int lft, int rgt) { if(row==n) { cnt++; return; } int all = col | lft | rgt; for(int i=0;i<n;i++) { if(!((1<<i) & all) && board[row][i]=='.') nq(row+1, col | (1<<i), (lft | (1<<i))<<1, (rgt | (1<<i))>>1 ); } return; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc, kk=1; string s; while(cin>>n && n) { for(int i=0;i<n;i++) cin>>board[i]; cnt=0; nq(0, 0, 0, 0); cout<<"Case "<<kk++<<": "<<cnt<<"\n"; } return 0; }
Tuesday, 28 April 2015
UVA 10309 Turn the Lights Off
/// 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 string tmp[12]; int lightSwitch(int n) { int cnt=0; for(int i=0;i<10;i++) //bit check for first row if(n & (1<<i)) { cnt++; //top-left for(int j=max(i-1, 0);j<=min(i+1, 9);j++) { if(tmp[0][j]=='#') tmp[0][j]='O'; else tmp[0][j]='#'; } //2nd row if(tmp[1][i]=='#') tmp[1][i]='O'; else tmp[1][i]='#'; } //cout<<n<<" "<<cnt<<endl; for(int i=1;i<10;i++) { for(int j=0;j<10;j++) if(tmp[i-1][j]=='O') { cnt++; tmp[i-1][j]=='#'; //above for(int k=max(j-1, 0);k<=min(j+1, 9);k++) { if(tmp[i][k]=='#') tmp[i][k]='O'; else tmp[i][k]='#'; } if(i<9) { if(tmp[i+1][j]=='#') tmp[i+1][j]='O'; else tmp[i+1][j]='#'; } } } bool chk=true; for(int i=0;i<10;i++) if(tmp[9][i]=='O') chk=false; if(!chk) cnt=1e9; return cnt; } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int n, tc, kk=1; string s, ss[12]; while(cin>>s && s!="end") { for(int i=0;i<10;i++) cin>>ss[i]; int mn=1e9; for(int i=0;i<1024;i++) { for(int j=0;j<10;j++) tmp[j]=ss[j]; int mnn=lightSwitch(i); //if(mnn==0) cout<<i<<endl; mn=min(mn, mnn); } if(mn>100) mn=-1; cout<<s<<" "<<mn<<"\n"; } return 0; }
Tuesday, 21 April 2015
UVA - 623 500!
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 n; while(sc.hasNext()) { n=sc.nextInt(); BigInteger B = BigInteger.valueOf(1); for(int i=n;i>1;i--) B = B.multiply(BigInteger.valueOf(i)); System.out.println(n+"!"); System.out.println(B); } } }
Subscribe to:
Posts (Atom)