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;
}

সোমবার, ১৯ অক্টোবর, ২০১৫

SPOJ :AE1B - Tables solution

#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()
{
    int n,s,k,ary[1005];
    while(~scanf("%d %d %d",&n,&k,&s))
    {
        for(int i=0; i<n; i++) scanf("%d",ary+i);
        sort(ary,ary+n);
        int res=0,sum=0;
        for(int i=n-1; i>=0; i--)
        {
            if(sum+ary[i]>s*k) break;
            else
            {
                sum+=ary[i];
                res++;
            }

        }
        if(sum<s*k) res++;
        printf("%d\n",res);

    }

    return 0;
}

SPOJ :AE00 - Rectangles


#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()
{
    int ans,n,sum=0;
    while(~scanf("%d",&n))
    {
          sum=0;
         for(int i=0;i<=n;i++)
         {
              ans=(n/(i+1))-i;
              if(ans<=0) break;
              sum+=ans;
         }
         printf("%d\n",sum);
    }

    return 0;
}

সোমবার, ৫ অক্টোবর, ২০১৫

UVA : 12290 - Counting Game

int n,m,k;
    int chk[101];
    string ss;
    while(sc("%d %d %d",&n,&m,&k)&&n&&m&&k)
    {
        memset(chk,0,sizeof(chk));
        int x=0;
        bool flag=false;
        string sign="plus";

        for(int i=1; i<1000006; i++)
        {

            if(sign=="plus") x++;
            else x--;
            if(i % 7==0) chk[x]++;
            else
            {
                ss="";
                stringstream st;
                st<<i;
                st>>ss;
                int l=ss.size();
                for(int j=0; j<l; j++)
                {
                    if(ss[j]=='7')
                    {
                        chk[x]++;
                        break;
                    }
                }
            }
            if(chk[m]==k)
            {
                cout<<i<<endl;
                flag=true;
                break;
            }
          // cout<<i<<" "<<ss<<endl;

            if(sign=="plus"&& x==n) sign="minus";
            if(sign=="minus"&& x==2)
            {
                x=0;
                sign ="plus";
            }

        }
      //  for(int i=1;i<=4;i++) cout<<chk[i]<<endl;
        if(!flag) puts("-1");

    }

    return 0;
}

রবিবার, ১৩ সেপ্টেম্বর, ২০১৫

UVA :290 - Palindroms <---> smordnilaP

#include <bits/stdc++.h>
#define sc(a) scanf("%d",&a)
#define scd(a,b) scanf("%d%d",&a,&b)
#define sct(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define READ freopen ("in.txt","r",stdin)
#define MV 20
using namespace std;

typedef long long ll;

//typedef vector<string>vc;
//vector<vc>graph;
//graph.assign(r+2,vc());
int graph[1005][1005];
bool visited[1005][1005];
int xr[]= {-1,-1,-1,0,0,1,1,1};
int yc[]= {-1,0,1,-1,1,-1,0,1};
int rr[]= {0,-1,0,1};
int cc[]= {-1,0,1,0};
int b,cnt,x,y,z,rem;


void step( int base,string str)
{
    // cout<<str<<" ";
    int l=str.size();
    string s=str;
    reverse(s.begin(),s.end());

    string ans;
    // cout<<str<<" "<<s<<endl;
    for(int i=l-1; i>=0; i--)
    {
        char ch=str[i];
        if(ch=='E') x=14;
        else if(ch=='D') x=13;
        else if(ch=='C') x=12;
        else if(ch=='B') x=11;
        else if(ch=='A') x=10;
        else x=ch-'0';



        ch=s[i];
        if(ch=='E') y=14;
        else if(ch=='D') y=13;
        else if(ch=='C') y=12;
        else if(ch=='B') y=11;
        else if(ch=='A') y=10;
        else y=ch-'0';
        z=x+y+rem;
        rem=z/base;
        int d=z%base;

        if(d==14) ans+="E";
        else if(d==13) ans+="D";
        else if(d==12) ans+="C";
        else if(d==11) ans+="B";
        else if (d==10) ans+="A";
        else ans+=(d+'0');

    }
    if(rem>0)ans+=(rem+'0');
    reverse(ans.begin(),ans.end());
    // cout<<ans<<endl;
    string t=ans;
    reverse(t.begin(),t.end());
    // cout<<t<<endl;
    if(ans==t)
    {
        // cout<<endl;
        if(base!=15) cout<<" "<<cnt+1;
        else cout<<cnt+1;
        return ;
        // return cnt;
    }
    else
    {

        //cout<<ans<<endl;
        rem=0;
        cnt++;
        step( base,ans);
    }


}

int main()
{
   // READ;
   // freopen("out.txt","w",stdout);
    string str;
    while(cin>>str)
    {
        for(int base=15; base>=2; base--)
        {
            //if(base<15) cout<<" ";
            cnt=0;
            rem=0;

            string ss=str;
            sort(ss.begin(),ss.end());
            int l=ss.length();
            char ch=ss[l-1];
            if(ch=='E') b=14;
            else if(ch=='D') b=13;
            else if(ch=='C') b=12;
            else if(ch=='B') b=11;
            else if(ch=='A') b=10;
            else b=ch-'0';
            if(b>=base)
            {
                if(base<15) cout<<" ";
                printf("?");
                continue;

            }
            // cout<<cnt+1<<endl;

            string sss=str;
            reverse(sss.begin(),sss.end());
            if(sss==str)
            {

                if(base<15) cout<<" ";
                printf("0");
                continue;

            }

            step(base,str);

        }
        printf("\n");

    }


    return 0;
}

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

UVA LIVE ARCHIEVE : 6758 - Balloons Colors

#include <bits/stdc++.h>
#define sc(a) scanf("%d",&a)
#define scd(a,b) scanf("%d%d",&a,&b)
#define sct(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define READ freopen ("input.txt","r",stdin)
#define MV 20
using namespace std;

int main(){
   // READ;
   int test,arr[102];
   sc(test);
   while(test--){
       int n,x,y;
          sct(n,x,y);
          for(int i=0;i<n;i++) sc(arr[i]);
                if(arr[0]==x&&arr[n-1]==y) puts("BOTH");
                   else if(arr[0]==x&&arr[n-1]!=y) puts("EASY");
                      else if (arr[0]!=x&&arr[n-1]==y) puts("HARD");
                         else puts("OKAY");
      }


return 0;
}










Regionals 2011 >> - Arab Contest (UVA LIVE Archive 6007 - Arabic and English)

#include <bits/stdc++.h>
#define sc(a) scanf("%d",&a)
#define scd(a,b) scanf("%d%d",&a,&b)
#define sct(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define READ freopen ("input.txt","r",stdin)
#define MV 20
using namespace std;

int main()
{
    // READ;
   // freopen("output.txt","w",stdout);
    int test;
    sc(test);
    string str,s;
    vector<string>vc;
    while(test--)
    {

        int n;
        cin>>n;
        vc.clear();
        getchar();
        getline(cin,str);
        s=str;
        // cout<<str<<endl;
        stringstream st;
        st<<str;
        bool alpha=false;
        bool Hash=false;
        while(st>>str)
        {
            if(isalpha(str[0])) alpha=true;
            if(str[0]=='#') Hash=true;
            vc.push_back(str);
            //  cout<<str<<endl;
        }
        int len=vc.size();

//        for(int i=0;i<len;i++) cout<<vc[i]<<" ";
//        cout<<endl;
        if(!alpha||!Hash) cout<<s<<endl;
        else
        {
            int index;
            for(int i=0; i<len; i++)
            {
                string ss=vc[i];
                if(isalpha(ss[0]))
                {
                    index=i;
                    break;
                }
            }
            for(int i=index+1; i<len; i++)
            {
                cout<<vc[i]<<" ";
            }
             cout<<vc[index];
            for(int i=0; i<index; i++)
            {
                cout<<" "<<vc[i];
                //if(i<index-1) cout<<" ";
            }
            cout<<endl;
          //  printf("\n");

        }

    }

    return 0;
}

বুধবার, ২ সেপ্টেম্বর, ২০১৫

Regionals 2011 >> Africa/Middle East - Arab Contest (ACM ICPC LIVE ARCHIVE 6008) - Between the Mountains

#include <bits/stdc++.h>
#define sc(a) scanf("%d",&a)
#define scd(a,b) scanf("%d%d",&a,&b)
#define sct(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define READ freopen ("input.txt","r",stdin)
#define MV 20
using namespace std;

int main()
{
 //   READ;
    int test,x,y;
    sc(test);
    int a[10004],b[10004];
    while(test--)
    {
        sc(x);
        for(int i=0; i<x; i++) sc(a[i]);
        sc(y);
        for(int i=0; i<y; i++) sc(b[i]);
        int res=0x7fffffff;
       // cout<<res<<endl;
        for(int i=0; i<x; i++)
        {
            for(int j=0; j<y; j++)
            {
               res=min(res,(abs(a[i]-b[j])));
            }

        }
        cout<<res<<endl;

    }
    return 0;
}

UVA: 594 - One Little, Two Little, Three Little Endians

#include <bits/stdc++.h>
#define sc(a) scanf("%d",&a)
#define scd(a,b) scanf("%d%d",&a,&b)
#define sct(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define READ freopen ("input.txt","r",stdin)
#define nnn 20
using namespace std;

int main()
{
    int n,res,pos,x;
    while(~sc(n))
    {
        res=pos=0;
        x=24;
        for(int i=1; i<=4; i++)
        {
            for(int j=x; j<x+8; j++)
            {
                if(n&(1<<j))
                {
                   res|=(1<<pos);

                }
                pos++;

            }
            x-=8;

        }
        printf("%d converts to %d\n",n,res);

    }

    return 0;
}

মঙ্গলবার, ১ সেপ্টেম্বর, ২০১৫

UVA :11933 - Splitting Numbers (way 2)

#include <bits/stdc++.h>
#define sc(a) scanf("%d",&a)
#define scd(a,b) scanf("%d%d",&a,&b)
#define sct(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define READ freopen ("input.txt","r",stdin)
#define nnn 20
using namespace std;

int main()
{
    int num;
    int a,b,c;
    // scanf("%d",&n);

    while(~sc(num)&&num)
    {
        a=b=c=0;
        for(int i=0; i<32; i++)
        {
            if((num&(1<<i)))
            {
                c++;
                if(c%2) a+=(1<<i);
                else b+=(1<<i);

            }

        }
        cout<<a<<" "<<b<<endl;
    }

    return 0;
}

UVA :11933 - Splitting Numbers (way 1)

#include <bits/stdc++.h>
#define sc(a) scanf("%d",&a)
#define scd(a,b) scanf("%d%d",&a,&b)
#define sct(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define READ freopen ("input.txt","r",stdin)
#define nnn 20
using namespace std;

int main()
{
    int num;
    int a,b;
   // scanf("%d",&n);

    while(~sc(num)&&num)
    {
        bitset<32>foo(num);
       // cout<<foo[0]<<" "<<foo[1]<<" "<<foo[2]<<endl;
       // cout<<foo.size()<<endl;
       // cout<<foo<<endl;
        int c=0;

        a=b=0;
        for(int i=0; i<32; i++)
        {
            if(foo[i]==1)
            {
                c++;
                if(c%2) a=a+(1<<i);
                else b=b+(1<<i);

            }


        }
        cout<<a<<" "<<b<<endl;


    }
    return 0;
}

রবিবার, ৩০ আগস্ট, ২০১৫

UVA:10954 - Add All

#include <bits/stdc++.h>
#define READ freopen ("input.txt","r",stdin)
#define nnn 20

using namespace std;

typedef long long ll;
typedef vector < int > vi;

int main()
{
    //READ;
    priority_queue<int>A;
    int n;
    while(scanf("%d",&n)==1&&n)
    {
        for(int i=0; i<n; i++)
        {
            int x;
            scanf("%d",&x);
            A.push(-x);
        }
        ll sum=0;
        while(A.size()>1)
        {
            int p=A.top();
            A.pop();
            int q=A.top();
            A.pop();
            sum+=(ll)(abs(p)+abs(q));
            A.push(-1*(abs(p)+abs(q)));
          //  cout<<A.top()<<endl;


        }
        cout<<sum<<endl;
        while(!A.empty()) A.pop();
    }



    return 0;
}

UVA :11995 - I Can Guess the Data Structure!

#include <bits/stdc++.h>
#define READ freopen ("input.txt","r",stdin)
#define nnn 20

using namespace std;

typedef long long ll;
typedef vector < int > vi;

int main()
{
    //READ;
    int n;
    stack<int>st;
    queue<int>Q;
    priority_queue<int>pq;
    while(~scanf("%d",&n))
    {
        while(!st.empty())st.pop();
        while(!Q.empty()) Q.pop();
        while(!pq.empty())pq.pop();
        bool stk=true;
        bool que=true;
        bool pque=true;
        bool ccc=true;
        for(int k=0; k<n; k++)
        {
            int op,value;
            scanf("%d %d",&op,&value);
            if(op==1)
            {
                st.push(value);
                Q.push(value);
                pq.push(value);
            }
            else
            {
                if(st.size()==0||Q.size()==0||pq.size()==0)
                {
                    ccc=false;
                    continue;
                }
                if(st.top()!=value) stk=false;
                else st.pop();
                if(Q.front()!=value) que=false;
                else Q.pop();
                if(pq.top()!=value) pque=false;
                else pq.pop();

            }

        }
        if(ccc==false )
        {
            puts("impossible");
            continue;
        }
        if(stk==false&&que==false&&pque==false) puts("impossible");
        else if(stk==true&&que==false&&pque==false) puts("stack");
        else  if(stk==false&&que==true&&pque==false) puts("queue");
        else  if(stk==false&&que==false&&pque==true) puts("priority queue");
        else puts("not sure");

    }


    return 0;
}

মঙ্গলবার, ১৮ আগস্ট, ২০১৫

UVA :11040 - Add bricks in the wall

#include <bits/stdc++.h>
#define sc(a) scanf("%d",&a)
#define scd(a,b) scanf("%d%d",&a,&b)
#define sct(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define READ freopen ("input.txt","r",stdin)
#define n 20

using namespace std;

typedef long long ll;
typedef vector<int>vi;
vector< vi >v;

int main()
{
   // READ;
   // freopen("output.txt","w",stdout);

    int test;
    sc(test);
    int ary[100];
    while(test--)
    {
        v.assign(n,vi());

        for(int i=0; i<5; i++)
        {
            for(int j=0; j<=i; j++)
            {
                int x;
                cin>>x;
                v[i].push_back(x);

            }

        }

        for(int i=0; i<5; i++)
        {
            if(i==0)
            {
                cout<<v[0][0]<<endl;
                continue;

            }
            int in=0;
            for(int j=0; j<v[i].size()-1; j++)
            {

                int a=v[i][j]+v[i][j+1];
                int b=(v[i-1][j]-a)/2;
                int ss=v[i][j]+b;
                int sd=v[i][j+1]+b;
                ary[in++]=b;
                cout<<ss<<" "<<sd;
                if(j<v[i].size()-2) cout<<" ";

            }
            cout<<endl;
            int p=0;
            for(int j=0; j<v[i].size(); j++)
            {
                cout<<v[i][j];
                if(j<v[i].size()-1) cout<<" ";
                if(p<in) cout<<ary[p];
                if(j<v[i].size()-1) cout<<" ";

                p++;
            }
            cout<<endl;




        }
    }


    return 0;
}

সোমবার, ১৭ আগস্ট, ২০১৫

UVA 514 - Rails

#include <bits/stdc++.h>
#define sc(a) scanf("%d",&a)
#define scd(a,b) scanf("%d%d",&a,&b)
#define sct(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define READ freopen ("input.txt","r",stdin)
#define N 4

using namespace std;

typedef long long ll;
typedef vector<int>vc;

int main()
{
   // READ;
    int n;
    stack<int>st;
    queue<int>Q,R;
    while(~sc(n)&&n)
    {

        int t;
        while(cin>>t)
        {
            while(!Q.empty()) Q.pop();
            while(!st.empty()) st.pop();
            while(!R.empty()) R.pop();

            if(t==0)
            {
                printf("\n");
                break;

            }
            R.push(t);
            for(int i=2; i<=n; i++)
            {
                int x;
                cin>>x;
                R.push(x);

            }
            for(int i=1; i<=n; i++) Q.push(i);
            for(int i=0; i<n; i++)
            {
                int r=R.front();
              //  cout<<r<<endl;
                bool flag=false;
                if(st.size()!=0&&st.top()==r)
                {
                    flag=true;
                    st.pop();
                    R.pop();
                }
                else
                {
                    while(Q.size()>0)
                    {
                        if(Q.front()==r)
                        {
                            flag=true;
                            R.pop();
                            Q.pop();
                            break;

                        }
                        else
                        {
                            st.push(Q.front());
                            Q.pop();
                        }


                    }
                }
                if(flag==false) goto L;


            }
L:
         //cout<<st.size()<<" "<<Q.size()<<endl;
         if(st.size()==0&&Q.size()==0)   puts("Yes");
         else  puts("No");

        }




    }



    return 0;
}

মঙ্গলবার, ৪ আগস্ট, ২০১৫

UVA Solution :10684-The Jackpot

#include <bits/stdc++.h>
#define sc(a) scanf("%d",&a)
#define scd(a,b) scanf("%d%d",&a,&b)
#define sct(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define READ freopen ("input.txt","r",stdin)

using namespace std;

typedef long long ll;
typedef vector<int>vc;


int main()
{
    // READ;
    int n,ary[10004];
    ll temp,sum;
    while(~sc(n)&&n!=0)
    {

        for(int i=0; i<n; i++) sc(ary[i]);
        sum=0;
        temp=0;
        for(int i=0; i<n; i++)
        {
            temp+=ary[i];

            sum=max(sum,temp);
            if(temp<0) temp=0;
        }

        sum>0?printf("The maximum winning streak is %lld.\n",sum):printf("Losing streak.\n");

    }

    return 0;
}

সোমবার, ৩ আগস্ট, ২০১৫

UVA solution :446 - Kibbles "n" Bits "n" Bits "n" Bits

#include <bits/stdc++.h>
#define sc(a) scanf("%d",&a)
#define scd(a,b) scanf("%d%d",&a,&b)
#define sct(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define READ freopen ("input.txt","r",stdin)

using namespace std;

typedef long long ll;
typedef vector<int>vc;

int Int(string ss)
{
    int su=0;
    for(int i=ss.size()-1,j=0; i>=0; i--,j++)
    {
        su+=(ss[i]-'0')*pow(2,j);

    }

    return su;
}

string Tobin(string s)
{
    string res;
    // cout<<s<<endl;
    string ss[]=
    {
        "0000", "0001","0010","0011","0100","0101","0110","0111","1000","1001","1010","1011","1100","1101","1110","1111"
    };
    for(int i=0; i<s.size(); i++)
    {
        int in;
        if(s[i]>='0'&&s[i]<='9') in=(s[i]-'0');
        else in=(int)(s[i]-55);
        //   cout<<in<<endl;
        res+=ss[in];

    }

    return res;


}


int main()
{
    // READ;
    int test;
    sc(test);
    while(test--)
    {
        string a,b,c;
        cin>>a>>b>>c;
        string x=Tobin(a);
        string y=Tobin(c);

        int cc=13-x.size();
        while(cc--) cout<<"0";
        cout<<x;
        cout<<" "<<b<<" ";
        int ccc=13-y.size();
        while(ccc--) cout<<"0";
        cout<<y<<" = ";

        int p=Int(x);
        int q=Int(y);
        //  cout<<p<<" "<<q<<endl;
        if(b[0]=='+') cout<<p+q<<endl;
        else cout<<p-q<<endl;



    }

    return 0;
}

মঙ্গলবার, ২৮ জুলাই, ২০১৫

UVA : 11221 - Magic square palindromes.

#include <bits/stdc++.h>
#define sc(a) scanf("%d",&a)
#define scd(a,b) scanf("%d%d",&a,&b)
#define sct(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define N 8

using namespace std;

typedef long long ll;
typedef vector<int>vc;

int main()
{

   // freopen("input.txt","r",stdin);
    int test;
    sc(test);
    getchar();
    char arr[100][100];
    for(int cas=1; cas<=test; cas++)
    {
        string str;
        getline(cin,str);
        string ss;
        for(int i=0; i<str.size(); i++)
        {
            if(str[i]>='a'&&str[i]<='z') ss+=str[i];

        }
        int len=ss.size();
        //  cout<<ss<<endl;
        int d=sqrt(len);
        printf("Case #%d:\n",cas);
        if(d*d!=len)
        {
            puts("No magic :(");
            continue;

        }
        int r=0;
        for(int i=0; i<len; i+=d,r++)
        {

            for(int j=i,c=0; j<i+d; j++,c++)
            {

                arr[r][c]=ss[j];
            }

        }

        /* for(int i=0; i<d; i++)
         {
             for(int j=0; j<d; j++) cout<<arr[i][j];
             cout<<endl;

         }*/
        string a,b,x,y;
        // cout<<d<<endl;

        for(int i=0; i<d; i++)
        {
            for(int j=0; j<d; j++)
            {
                a+=arr[i][j];
                b+=arr[j][i];
            }


        }

         for(int i=d-1;i>=0;i--)
         {

             for(int j=d-1;j>=0;j--)
             {
                x+=arr[i][j];
                y+=arr[j][i];

             }

         }
       // cout<<a<<endl;
       // cout<<b<<endl;
       //cout<<x<<endl;
        //cout<<y<<endl;
        if(a==b&&a==x&&a==y&&b==x&&b==y&&x==y) cout<<d<<endl;
        else  puts("No magic :(");


    }

    return 0;
}