মঙ্গলবার, ৩০ আগস্ট, ২০১৬

UVA 10405 - Longest Common Subsequence

#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<iostream>
#include<cctype>
#include<map>
#include<stack>
#include<cstdlib>
#include <queue>
#include <vector>
#include<algorithm>
#define ll long long
#define sc scanf
#define pf printf
#define Pi 2*acos(0.0)
using namespace std;
int n,m,lcs[2000][2000];
int main()
{
    string s1,s2;

    while(getline(cin,s1))
    {
        getline(cin,s2);
        n=s1.size();
        m=s2.size();
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
            {
                if(s1[i-1]==s2[j-1])
                lcs[i][j]=lcs[i-1][j-1]+1;
                else
                lcs[i][j]=max(lcs[i-1][j],lcs[i][j-1]);
            }
        cout<<lcs[n][m]<<endl;
    }
return 0;
}

UVA 10235 - Simply Emirp

#include<stdio.h>
main()
{
   long int a;
   while(scanf("%ld",&a)!=EOF)
   {
       long int i=2,j=0,k=0,p=0,h,v=a;
       while(a>i)
       {
           if(a%i==0)
           {
               j++;
           }
           i++;
           if(j==1)
            break;
       }
       if(j==1)
        printf("%ld is not prime.\n",a);
       else
       {
           while(a!=0)
            {
               i=a%10;
               a=a/10;
               p=(p*10)+i;
           }
           i=2,k=0;
           while(p>i)
           {
               if(p%i==0)
               {
                   k++;
               }
               i++;
               if(k==1)
                break;
           }
           if(v==p)printf("%ld is prime.\n",v);
           else if(k==1)
            printf("%ld is prime.\n",v);
            else
            printf("%ld is emirp.\n",v);
       }
   }
}

UVA 10222 - Decode the Mad man

#include<stdio.h>
#include<string.h>
main()
{
char s[100000]={0};
    while(gets(s))
    {
    long i,l=strlen(s);
    for(i=0;i<l;i++)
    {
    if(s[i]=='e' || s[i]=='E')printf("q");
    if(s[i]=='r' || s[i]=='R')printf("w");
    if(s[i]=='t' || s[i]=='T')printf("e");
if(s[i]=='y' || s[i]=='Y')printf("r");
if(s[i]=='u' || s[i]=='U')printf("t");
if(s[i]=='i' || s[i]=='I')printf("y");
if(s[i]=='o' || s[i]=='O')printf("u");
if(s[i]=='p' || s[i]=='P')printf("i");
if(s[i]=='[') printf("o");
if(s[i]==']') printf("p");
if(s[i]=='d' || s[i]=='D')printf("a");
if(s[i]=='f' || s[i]=='F')printf("s");
if(s[i]=='g' || s[i]=='G')printf("d");
if(s[i]=='h' || s[i]=='H')printf("f");
if(s[i]=='j' || s[i]=='J')printf("g");
if(s[i]=='k' || s[i]=='K')printf("h");
if(s[i]=='l' || s[i]=='L')printf("j");
if(s[i]==';')printf("k");
if(s[i]=='\'')printf("l");
if(s[i]=='c' || s[i]=='C')printf("z");
if(s[i]=='v' || s[i]=='V')printf("x");
if(s[i]=='b' || s[i]=='B')printf("c");
if(s[i]=='n' || s[i]=='N')printf("v");
if(s[i]=='m' || s[i]=='M')printf("b");
if(s[i]==',')printf("n");
if(s[i]=='.')printf("m");
if(s[i]==' ')printf(" ");
}
      printf("\n");
}

}

UVA 10189 - Minesweeper

#include<stdio.h>
#include<string.h>
#include<ctype.h>
main()
{
long int a,b,cnt=1;
while(scanf("%ld%ld",&a,&b)!=EOF)
{
char s[200][200]={0};
   long int i,j,k,count;
if(a==0 && b==0)
break;
else
{
for(i=0;i<a;i++)
{
scanf("%s",s[i]);
   }
   for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
if(s[i][j]=='*')
continue;
else
s[i][j]='0';

}
   }
   for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
if(s[i][j]=='*')
{
if(isdigit(s[i-1][j-1]))
   s[i-1][j-1]=s[i-1][j-1]+1;
if(isdigit(s[i-1][j]))
   s[i-1][j]=s[i-1][j]+1;
if(isdigit(s[i-1][j+1]))
   s[i-1][j+1]=s[i-1][j+1]+1;
if(isdigit(s[i][j-1]))
   s[i][j-1]=s[i][j-1]+1;
if(isdigit(s[i][j+1]))
   s[i][j+1]=s[i][j+1]+1;
if(isdigit(s[i+1][j-1]))
   s[i+1][j-1]=s[i+1][j-1]+1;
if(isdigit(s[i+1][j]))
   s[i+1][j]=s[i+1][j]+1;
if(isdigit(s[i+1][j+1]))
   s[i+1][j+1]=s[i+1][j+1]+1;
}
}
}

if(cnt>1)
            printf("\n");
            printf("Field #%ld:\n",cnt);
            cnt++;
for(i=0;i<a;i++)
{
for(j=0;j<b;j++)
{
printf("%c",s[i][j]);
}
printf("\n");
}
}

}


}

UVA 10168 - Summation of Four Primes

#include<bits/stdc++.h>
using namespace std;
long long visit[10000010]={0};
main()
{
      long long i,j;
      visit[1]=1;
      for(i=4;i<=10000000;i=i+2)
      {
            visit[i]=1;
      }
      for(i=3;i<=sqrt(10000000);i++)
      {
            if(visit[i]==0)
            for(j=i*i;j<=10000000;j=j+i)
            {
                  visit[j]=1;
            }
      }
      long long n;
      while(cin>>n)
      {
            long long rmn,i1;
            if(n<8)
            {
                  cout<<"Impossible.";
            }
            else
            {
            if(n%2==0)
            {
                  cout<<"2 2 ";
                  rmn=n-4;
            }
            else
            {
                  cout<<"2 3 ";
                  rmn=n-5;
            }
            for(i1=2;i1<=rmn;i1++)
            {
                  if(visit[i1]==0&&visit[rmn-i1]==0)
                  {
                        cout<<i1<<" "<<rmn-i1;
                        flag=1;
                        break;
                  }
            }
            if(flag==0)
            {
                  cout<<"Impossible.";
            }
            }
            cout<<endl;
      }
}

UVA 10161 - Ant on a Chessboard

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<ctype.h>
using namespace std;
main()
{
long long int n;
while(scanf("%lld",&n)!=EOF)
{
if(n==0)
break;
else
{
long long r,k,k1,diff=0,x=0,y=0;
r=ceil(sqrt(n));
diff=(r*r)-n;
k=(2*r)-1;
k1=k/2;
if(r%2==1)
{
if(diff>k1)
{
x=r;
y=k-diff;
}
else
{
y=r;
x=diff+1;
}
}
else
{
if(diff>k1)
{
y=r;
x=k-diff;
}
else
{
x=r;
y=diff+1;
}
}
printf("%lld %lld\n",x,y);
}
}
}

UVA 10110 - Light, more light

#include<stdio.h>
#include<math.h>
main()
{
    long int a;
    while(scanf("%ld",&a)!=EOF)
    {
        if(a==0)
            break;
        long int i=sqrt(a);
        if(i*i==a)
            printf("yes\n");
        else
            printf("no\n");
    }
}

Factory Pattern

Factory Method  is a creational design pattern that provides an interface for creating objects in a superclass but allows subclasses to alte...