About Me

About Me : I have been working as a Software Engineer for various international companies for four years.Currently, I am working as a full stack Javascript developer in Petronas(Malaysia).

Skills

Skills • Javascript •Typescript •Python •C •Java •ReactJs • Redux • VueJs • NestJs • React Testing Library • Django• PostgreSQL • MySQL • NodeJs • Git • Docker • Jira • Visual Studio Code • Slack

সোমবার, ৩০ নভেম্বর, ২০১৫

Spoj Solution :NFACTOR - N-Factorful

#include <bits/stdc++.h>
#define pb push_back
#define Max 1000002
#define lim 1000006
using namespace std;
typedef long long ll;
bool mark[Max];
vector<int>prime,fc;
void sieve()
{
    for(int i=3; i<=sqrt(Max); i+=2)
    {
        if(!mark[i]) for(int j=i*i; j<Max; j+=i) mark[j]=true;
    }
    prime.pb(2);
    for(int i=3; i<Max; i+=2) if(!mark[i]) prime.pb(i);
}
int fac[1000001];
vector<int>vc[1000001];
vector<int>:: iterator l,h;

int ttt(int n)
{
    int cnt=0;
    fc.clear();
    for(int i=0; prime[i]*prime[i]<=n; i++)
    {
        if(n%prime[i]==0)
        {
            while(n%prime[i]==0)
            {
                n/=prime[i];
            }
            fc.pb(prime[i]);
        }
    }
    if(n>1)
    {
        fc.pb(n);
    }
    cnt = fc.size();
    return cnt;
}

int main()
{
    //   freopen("input.txt","r",stdin);
    sieve();
   // cout<<prime.size()<<endl;
    for(int i=2; i<(Max); i++)
    {
        fac[i]=ttt(i);
    }

    for(int i=2; i<1000003; i++)
    {
        int x=fac[i];
        if(x==0) x=1;
        if(x<11) vc[x].pb(i);
    }
    // cout<<vc[1].size()<<endl;
    // cout<<vc[2].size()<<endl;
    vc[1].pb(0);
    int test;
    scanf("%d",&test);
    while(test--)
    {
        int a,b,n,c=0;
        scanf("%d %d %d",&a,&b,&n);
        if(a>b)swap(a,b);

        if(n==0)
        {
            if(a==1) puts("1");
            else puts("0");
            continue;
        }
        if(vc[n].size()==0)
        {
            puts("0");
            continue;
        }
        l=lower_bound(vc[n].begin(),vc[n].end(),a);
        h=upper_bound(vc[n].begin(),vc[n].end(),b);
        // cout<<*l<<" "<<*h<<endl;
        printf("%d\n",h-l);

    }

    return 0;
}

রবিবার, ২৯ নভেম্বর, ২০১৫

SPOJ : BISHOPS - Bishops


import java.math.BigInteger;
import java.util.Scanner;
import java.util.*;

public class JavaApplication9{

    public static void main(String[] args) {  
       BigInteger a,b,c,d;
       Scanner input=new Scanner(System.in);
       BigInteger x=BigInteger.ONE;
       while(input.hasNext())
       {
           a=input.nextBigInteger();
           if((a.compareTo(x))==0){
         
               System.out.println("1");
                continue;
           }
           c=a.add(a.subtract(BigInteger.valueOf(2)));
           System.out.println(c);
       }
    }

}

বুধবার, ২৫ নভেম্বর, ২০১৫

spoj solution: DIV - Divisors

#include <bits/stdc++.h>
#define pb push_back
#define Max 1000009
#define lim 1000006
using namespace std;
typedef  long long ll;
vector<int>prime;
bool mark[Max];
void sieve()
{
    for(int i=3; i<=sqrt(Max); i+=2)
    {
        if(!mark[i]) for(int j=i*i; j<Max; j+=i) mark[j]=true;
    }
    prime.pb(2);
    for(int i=3; i<=Max; i+=2) if(!mark[i]) prime.pb(i);
}

int ary[1000006];
bool chk[Max];
int main()
{


    sieve();
    for(int i=1; i<=1000001; i++)
    {
        for(int j=i; j<=1000001; j+=i) ary[j]++;
    }
    //  printf("%d",ary[100]);
    map<int,int>mp;
    int c=0;
    for(int i=1; i<=1000001; i++)
    {
        int d=ary[i];
        if(!chk[d])
        {
            int  sum=1;
            mp.clear();
            for(int j=0; prime[j]*prime[j]<=d; j++)
            {
                if(d%prime[j]==0)
                {
                    sum*=prime[j];
                    mp[prime[j]]++;
                    while(d%prime[j]==0) d/=prime[j];
                }
            }
            if(d!=1) sum*=d;
            if(d!=1) mp[d]++;
            if(mp.size()==2&&sum==ary[i])
            {
                c++;
                chk[ary[i]]=true;
                if(c%9==0)  printf("%d\n",i);

            }
        }
        else
        {
            c++;
            //chk[ary[i]]=true;
            if(c%9==0)  printf("%d\n",i);

        }
    }



    return 0;
}



মঙ্গলবার, ১৭ নভেম্বর, ২০১৫

SPOJ Solution :DIVFACT - Divisors of factorial

#include <bits/stdc++.h>
#define pb push_back
#define MAX 1000006
#define lim 1000006
using namespace std;
typedef long long ll;
bitset<MAX>mark;
vector<int>prime;
void sieve()
{
    for(int i=3; i<sqrt(MAX); i+=2)
    {
        if(mark[i]==0) for(int j=i*i; j<MAX; j+=i) mark[j]=1;
    }
    prime.pb(2);
    for(int i=3; i<MAX; i+=2) if(mark[i]==0) prime.pb(i);
}
ll divisors_of_factorial(int n)
{
    ll res=1;
    for(int i=0; prime[i]<=n; i++)
    {
        int num=n;
        ll s=0;
        while(num)
        {
            s+=num/prime[i];
            num/=prime[i];
        }
        res=(res*(s+1))%1000000007;
    }
    return  res;
}
int main()
{
    //  freopen("input.txt","r",stdin);
    sieve();
    int test;
    scanf("%d",&test);
    while(test--)
    {
        int n;
        scanf("%d",&n) ;
        printf("%lld\n",divisors_of_factorial(n));

    }

    return 0;
}

Spoj Solution :PTIME - Prime Time

#include <bits/stdc++.h>
#define pb push_back
#define MAX 1000006
#define lim 1000006
using namespace std;
typedef long long ll;
bool mark[MAX];
vector<int>prime;
void sieve()
{
    for(int i=3; i<sqrt(MAX); i+=2)
    {
        if(!mark[i]) for(int j=i*i; j<MAX; j+=i) mark[j]=true;
    }
    prime.pb(2);
    for(int i=3; i<MAX; i+=2) if(!mark[i]) prime.pb(i);
}

int main()
{
    //  freopen("input.txt","r",stdin);
    sieve();
    int n;
    while(~scanf("%d",&n))
    {
        bool flag=true;
        for(int i=0; prime[i]<=n; i++)
        {
            int num=n;
            int sum=0;
            while(num)
            {
                sum+=num/prime[i];
                num/=prime[i];
            }
            if(flag)
            {
                flag=false;
                printf("%d^%d",prime[i],sum);
            }
            else printf(" * %d^%d",prime[i],sum);

        }
        puts("");
    }




    return 0;
}

রবিবার, ১৫ নভেম্বর, ২০১৫

Spoj Solution:CUBEFR - Cube Free Numbers

#include <bits/stdc++.h>
#define pb push_back
#define MAX 1000006
#define lim 1000006
using namespace std;
typedef long long ll;

vector<int>prime;
bool mark[MAX];
void sieve()
{
    for(int i=3; i<=sqrt(MAX); i+=2)
    {
        if(!mark[i]) for(int j=i*i; j<MAX; j+=i) mark[j]=true;
    }
    prime.pb(2);
    for(int i=3; i<MAX; i+=2) if(!mark[i]) prime.pb(i);
}
bool chk[lim];
int y[lim];
void cube_sieve()
{
    for(int i=0; prime[i]*prime[i]*prime[i]<lim; i++)
    {
        int n=prime[i]*prime[i]*prime[i];
        for(int j=1; n*j<lim; j++) chk[n*j]=true;

    }
    for(int i=1,k=1; i<lim; i++) if(!chk[i]) y[i]=k++;

}
int main()
{
    // freopen("input.txt","r",stdin);

    sieve();
    cube_sieve();
    int test;
    scanf("%d",&test);
    for(int cas=1; cas<=test; cas++)
    {
        int n;
        scanf("%d",&n);
        printf("Case %d: ",cas);
        if(chk[n]) puts("Not Cube Free");
        else printf("%d\n",y[n]);

    }


    return 0;
}

বৃহস্পতিবার, ১২ নভেম্বর, ২০১৫

Spoj Solution :AMR11E - Distinct Primes

#include <bits/stdc++.h>
#define MAX 10000
using namespace std;
bool mark[MAX];
vector<int>prime;
void seive()
{
    for(int i=3; i<=sqrt(MAX); i+=2)
    {
        if(!mark[i]) for(int j=i*i; j<MAX; j+=i) mark[j]=true;
    }
    prime.push_back(2);
    for(int i=3; i<MAX; i+=2) if(!mark[i]) prime.push_back(i);
}
vector<int>lucky;
void factor()
{
    for(int i=10;; i++)
    {
        int n=i;
        int c=0;
        for(int j=0; prime[j]*prime[j]<n; j++)
        {
            if(n%prime[j]==0)
            {
                c++;
                while(n%prime[j]==0)
                {
                    n/=prime[j];
                }
            }
        }
        if(n!=1)c++;
        if(c>=3) lucky.push_back(i);
        if(lucky.size()==1001) break;

    }

}


int main()
{
    //  freopen("input.txt","r",stdin);
    seive();
    factor();
    int test;
    scanf("%d",&test);
    while(test--)
    {
        int n;
        scanf("%d",&n);
        printf("%d\n",lucky[n-1]);
    }

    return 0;
}

Spoj/ SNGINT - Encode Integer solution

#include <bits/stdc++.h>
#define MAX 100000
using namespace std;


int main()// Be careful to increase ur code line
{

    int n,test;
    scanf("%d",&test);
    vector<int>v;
    while(test--)
    {
        scanf("%d",&n);
        v.clear();
        if(n==0||n==1)
        {
            if(n==0) puts("10");
            else puts("1");
            continue;
        }

        for(int i=9; i>=2; i--)
        {
            if(n%i==0&&n!=0)
            {
                while(n%i==0)
                {
                    v.push_back(i);
                    n/=i;
                }
            }
        }
        if(n!=1) v.push_back(n);
        sort(v.begin(),v.end());
        bool flag=true;
        for(int i=0; i<v.size(); i++) if(v[i]>9) flag=false;

        if(flag)
        {
            for(int i=0; i<v.size(); i++)
            {
                cout<<v[i];
            }
            puts("");
        }
        else puts("-1");
    }
    return 0;
}

রবিবার, ৮ নভেম্বর, ২০১৫

Spoj Solution:CRDS - Cards

#include <bits/stdc++.h>
#define pi acos(-1.0)

using namespace std;

typedef long long ll;
typedef  unsigned  long long ull;
typedef vector<int>vc;
vector<vc>graph;
int xr[]= {-1,-1,-1,0,0,1,1,1};
int yc[]= {-1,0,1,-1,1,-1,0,1};

int main()
{
    // freopen("input.txt","r",stdin);

    ll mod=1000007;
    int test;
    scanf("%d",&test);
    ll a,b;
    while(test--)
    {
        ll n,m;
        scanf("%lld",&n);
        m=n-1;
        a=((n%2==0)?((n/2)*(n+1))%mod:((n)*((n+1)/2))%mod);
        b=((m%2==0)?((m/2)*(m+1))%mod:((m)*((m+1)/2))%mod);
     //   cout<<a<<b<<endl;
        a=(a*2)%mod;
        printf("%lld\n",(a+b)%mod);

    }

    return 0;
}

বৃহস্পতিবার, ৫ নভেম্বর, ২০১৫

Spoj-Solution/2727-Army Strength

#include <bits/stdc++.h>
#define pi acos(-1.0)

using namespace std;

typedef long long ll;
typedef vector<int>vc;
vector<vc>graph;
int xr[]= {-1,-1,-1,0,0,1,1,1};
int yc[]= {-1,0,1,-1,1,-1,0,1};


int main()
{
    //freopen("input.txt","r",stdin);

    set<int>good,bad;
    set<int>::iterator it,it2;
    int test;
    scanf("%d",&test);
    while(test--)
    {
        good.clear();
        bad.clear();
        int g,b,n;
        cin>>g>>b;
        for(int i=0; i<g; i++)
        {
            scanf("%d",&n);
            good.insert(n);
        }
        for(int i=0; i<b; i++)
        {
            scanf("%d",&n);
            bad.insert(n);
        }

        while(good.size()>0&&bad.size()>0)
        {
            it=good.begin();
            it2=bad.begin();
            if((*it)<(*it2))
            {
                while(((*it)<(*it2))&&good.size()>0)
                {
                    good.erase(it);
                    it=good.begin();
                }
            }
            if((*it)>(*it2))
            {
                while(((*it)>(*it2))&&bad.size()>0)
                {
                    bad.erase(it2);
                    it2=bad.begin();
                }
            }
            if((*it)==(*it2))
            {
                bad.erase(it2);
            }


        }

        if(good.size()>0&&bad.size()==0) puts("Godzilla");
        else  if(good.size()==0&&bad.size()>0) puts("MechaGodzilla");
        else puts("uncertain");
    }

    return 0;
}

SPOJ Solution :AMR10G - Christmas Play

#include <bits/stdc++.h>
#define pi acos(-1.0)

using namespace std;

typedef long long ll;
typedef vector<int>vc;
vector<vc>graph;
int xr[]= {-1,-1,-1,0,0,1,1,1};
int yc[]= {-1,0,1,-1,1,-1,0,1};


int main()
{
    //freopen("input.txt","r",stdin);

    int test,n,k,ary[20004];
    scanf("%d",&test);
   // map<int,int>mp;
    while(test--)//using two pointer
    {
        scanf("%d %d",&n,&k);
        for(int i=0;i<n;i++) scanf("%d",&ary[i]);
        sort(ary,ary+n);
        int i=0,j=k-1;
        int Min=INT_MAX;
        while(i<n&&j<n)
        {
             Min=min(Min,ary[j]-ary[i]);
             i++;j++;
        }
        cout<<Min<<endl;
    }
    return 0;
}

মঙ্গলবার, ৩ নভেম্বর, ২০১৫

Spoj Solution : 9921 ABC path

#include <bits/stdc++.h>
#define pi acos(-1.0)

using namespace std;

typedef long long ll;
typedef vector<int>vc;
vector<vc>graph;
int xr[]= {-1,-1,-1,0,0,1,1,1};
int yc[]= {-1,0,1,-1,1,-1,0,1};

char ss[51][51];
bool visit[51][51];
int r,c,cnt,Max;
bool flag;

int dfs(int row,int col)
{
    if(ss[row][col]=='A'&&flag==false) return Max;
    flag=false;
    for(int i=0; i<8; i++)
    {
        int x=row+xr[i];
        int y=col+yc[i];
        if(x>=0&&x<r&&y>=0&&y<c&&visit[x][y]==0&&ss[x][y]==(ss[row]

[col]+1))
        {
            // cout<<x<<y<<endl;
            visit[x][y]=1;
            cnt++;
            Max=max(Max,cnt);
            //  cout<<Max<<endl;
            dfs(x,y);
            cnt--;
          //  visit[x][y]=0;
            //  return Max;
        }

    }
    return Max;


}


int main()
{
    //   freopen("inp.txt","r",stdin);
    int cas=0;
    while(~scanf("%d %d",&r,&c))
    {
        if(!r&&!c) break;
        for(int i=0; i<r; i++) cin>>ss[i];
        int res=0;
        for(int i=0; i<r; i++)
        {
            for(int j=0; j<c; j++)
            {
                if(ss[i][j]=='A')
                {
                    memset(visit,0,sizeof(visit));
                    cnt=1;
                    Max=1;
                    flag=true;
                    int v=  dfs(i,j);
                    //  cout<<v<<endl;
                    res=max( res, v);
                }
            }
        }
        printf("Case %d: %d\n",++cas,res);
    }

    return 0;
}