UVA Problem 10082 Solution

UVA Problem 10082 Solution

#include<stdio.h>

#include<bits/stdc++.h>

using namespace std;

char s[100000];

int main()

{

long int i,L;

while(gets(s))

    {

    L=strlen(s);

    for(i=0;i<L;i++)

        {

        switch(s[i])

            {

            case 'W':

            printf("Q");    break;

            case 'E':

            printf("W");    break;

            case 'R':

            printf("E");    break;

            case 'T':

            printf("R");    break;

            case 'Y':

            printf("T");    break;

            case 'U':

            printf("Y");    break;

            case 'I':

            printf("U");    break;

            case 'O':

            printf("I");    break;

            case 'P':

            printf("O");    break;

            case 'S':

            printf("A");    break;

            case 'D':

            printf("S");    break;

            case 'F':

            printf("D");    break;

            case 'G':

            printf("F");    break;

            case 'H':

            printf("G");    break;

            case 'J':

            printf("H");    break;

            case 'K':

            printf("J");    break;

            case 'L':

            printf("K");    break;

            case 'X':

            printf("Z");    break;

            case 'C':

            printf("X");    break;

            case 'V':

            printf("C");    break;

            case 'B':

            printf("V");    break;

            case 'N':

            printf("B");    break;

            case 'M':

            printf("N");    break;

            case '2':

            printf("1");    break;

            case '3':

            printf("2");    break;

            case '4':

            printf("3");    break;

            case '5':

            printf("4");    break;

            case '6':

            printf("5");    break;

            case '7':

            printf("6");    break;

            case '8':

            printf("7");    break;

            case '9':

            printf("8");    break;

            case '0':

            printf("9");    break;

            case '-':

            printf("0");    break;

            case '=':

            printf("-");    break;

            case '[':

            printf("P");    break;

            case ']':

            printf("[");    break;

            case '\\':

            printf("]");    break;

            case ';':

            printf("L");    break;

            case '1':

            printf("`");    break;

            case ',':

            printf("M");    break;

            case '.':

            printf(",");    break;

            case '/':

            printf(".");    break;

            case ' ':

            printf(" ");    break;                

            default:

            printf(";");    break;

             }

      

        }

    printf("\n");

    }

return 0;

}

 

UVA Problem 10082 Solution

UVA Problem 10107 Solution

#include <vector>

#include <stdio.h>

#include <math.h>

#include <iostream>

#include <algorithm>



using namespace std;

int main()

{

    int input,value;

    vector<int>myvector;

    if(myvector.empty())

   

        while(cin>>input)

        {

        myvector.push_back(input);

        sort(myvector.begin(),myvector.end());

        if(!(myvector.empty()))

       

            if(myvector.size() % 2 == 1) {

           cout<<myvector[myvector.size() / 2]<<endl;

        }

        else

        cout<<( myvector[myvector.size() / 2] + myvector[myvector.size() / 2 - 1] ) / 2<<endl;

       

}

return 0;

}

 

UVA Problem 10082 Solution

UVA Problem 10110 Solution

#include <bits/stdc++.h>

using namespace std;

int main()

{

    long long int n;

    while(cin>>n)

    {

        if(n==0) break;

    long long int n1=sqrt(n);

    if((n1*n1)==n)

    {

        cout<<"yes"<<endl;

    }

    else

    cout<<"no"<<endl;

   

    }

    return 0;

}

 

UVA Problem 10082 Solution

UVA Problem 10222 (Decode the Mad Man solution |) Solution

#include<bits/stdc++.h>

using namespace std;



int main()

{

    string s,sum;

    int i,l;

   

    getline(cin,s);

    {

    l=s.size();

   

    for( i=0;i<l;i++)

    {

        if(s[i]=='a' || s[i]=='A')

        {

            sum+='[';

        }

        else if(s[i]=='b' || s[i]=='B')

        {

            sum+='c';

        }

        else if(s[i]=='c' || s[i]=='C')

        {

            sum+='z';

        }

        else if(s[i]=='d' || s[i]=='D')

        {

            sum+='a';

        }

        else if(s[i]=='e' || s[i]=='E')

        {

            sum+='q';

        }

        else if(s[i]=='f' || s[i]=='F')

        {

            sum+='s';

        }

        else if(s[i]=='g' || s[i]=='G')

        {

            sum+='d';

        }

        else if(s[i]=='h' || s[i]=='H')

        {

            sum+='f';

        }

        else if(s[i]=='i' || s[i]=='I')

        {

            sum+='y';

        }

        else if(s[i]=='j' || s[i]=='J')

        {

            sum+='g';

        }

        else if(s[i]=='k' || s[i]=='K')

        {

            sum+='h';

        }

        else if(s[i]=='l' || s[i]=='L')

        {

            sum+='j';

        }

        else if(s[i]=='m' || s[i]=='M')

        {

            sum+='b';

        }

        else if(s[i]=='n' || s[i]=='N')

        {

            sum+='v';

        }

        else if(s[i]=='o' || s[i]=='O')

        {

            sum+='u';

        }

        else if(s[i]=='p' || s[i]=='P')

        {

            sum+='i';

        }

        else if(s[i]=='q' || s[i]=='Q' )

        {

            sum+=" ";

        }

        else if(s[i]=='r' || s[i]=='R')

        {

            sum+='w';

        }

        else if(s[i]=='s' || s[i]=='S')

        {

            sum+=']';

        }

        else if(s[i]=='t' || s[i]=='T')

        {

            sum+='e';

        }

        else if(s[i]=='u' || s[i]=='U')

        {

            sum+='t';

        }

        else if(s[i]=='v' || s[i]=='V')

        {

            sum+='x';

        }

        else if(s[i]=='w' || s[i]=='W')

        {

            sum+=" ";

        }

        else if(s[i]=='x' || s[i]=='X')

        {

            sum+=';';

        }

        else if(s[i]=='y' ||  s[i]=='Y')

        {

            sum+='r';

        }

        else if(s[i]=='z' ||  s[i]=='Z')

        {

            sum+=39;

        }

        else if(s[i]=='!'||s[i]=='<'||s[i]=='>')

        {

            sum+=" ";

        }

        else if(s[i]=='[')

        {

            sum+='o';

        }

        else if(s[i]==']')

        {

            sum+='p';

        }

        else if(s[i]==',')

        {

            sum+='n';

        }

        else if(s[i]=='.')

        {

            sum+='m';

        }

        else if(s[i]==';')

        {

            sum+='k';

        }

        else if(s[i]==39)

        {

            sum+='l';

        }

        else if(s[i]=='/')

        {

            sum+=',';

        }

    else if(s[i]==32)

    {

        sum+=" ";

    }

    }

    cout<<sum<<endl;

   

}

    return 0;

   

}

 

UVA Problem 10082 Solution

UVA Problem 10260( Soundex Solution) Solution

#include<bits/stdc++.h>

using namespace std;



int main()

{

   char s[120];

    int l,i;

    while(gets(s))

    {

    l=strlen(s);

    for(i=0;i<l;i++)

        {

    if(s[i]=='B' || s[i]=='F' || s[i]=='P' || s[i]=='V')

        {

        if(s[i+1]!='B' && s[i+1]!='F' && s[i+1]!='P' && s[i+1]!='V')

            printf("1");

        }

    else if(s[i]=='C' || s[i]=='G' || s[i]=='J' || s[i]=='K' || s[i]=='Q' || s[i]=='S' || s[i]=='X' || s[i]=='Z')

        {

        if(s[i+1]!='C' && s[i+1]!='G' && s[i+1]!='J' && s[i+1]!='K' && s[i+1]!='Q' && s[i+1]!='S' && s[i+1]!='X' && s[i+1]!='Z')

            printf("2");

        }

    else if(s[i]=='D' || s[i]=='T')

        {

        if(s[i+1]!='D' && s[i+1]!='T')

            printf("3");

        }

    else if(s[i]=='L')

        {

        if(s[i+1]!='L')

            printf("4");

        }

    else if(s[i]=='M' || s[i]=='N')

        {

        if(s[i+1]!='M' && s[i+1]!='N')

            printf("5");

        }

    else if(s[i]=='R')

        {

        if(s[i+1]!='R')

            printf("6");

        }

    }

      

printf("\n");

}

return 0;

}

 

UVA Problem 10082 Solution

UVA Problem 10324(Zero’s and One’s) Solution

#include<stdio.h>

#include<string.h>

#include<iostream>



using namespace std;



char s[1000003];



int main()

{

long int len,i,j,t,min,max,tc=0,temp,op=1;



while(cin>>s)

    {

    len=strlen(s);

    if(len==0)    break;

    cin>>t;

        {

        for(i=0;i<t;i++)

            {

            cin>>min>>max;

           

            if(i==0)

           

            printf("Case %ld:\n",tc+1);

           

            if(min>max)

                {

                temp=min;

                min=max;

                max=temp;

                }

            for(j=min;j<max;j++)

                {

                if(s[j]!=s[j+1])

                    {

                    printf("No\n");

                    break;

                    }

                  

                  }

                   if(j==max)

                    {

                            printf("Yes\n");

                    }

            }

        }

        tc++;    

    }

    return 0;

}

 

UVA Problem 10082 Solution

UVA Problem 10325 (The Lottery) Solution

#include <bits/stdc++.h>



using namespace std;



int check_prime (long int n)

 { int i;

    for ( i = 2; i * i <= n; i++)

    {

    if (n % i == 0)

    return 0;

    }

    return 1;

   }



 int rev(int n)

 {

  int reverse=0, rem;

 

  while(n)

  {

     rem=n%10;

     reverse=reverse*10+rem;

     n/=10;

    

  }

  return reverse;

 }



int main()

{

    long int n;



    while(cin>>n)

    {

   

     if (check_prime(n)!=1)

     cout<<n<<" is not prime."<<endl;

  else

    {

        int r=rev(n);

    if ( check_prime(r)==1 && r!=n )

                cout<<n<<" is emirp."<<endl;

            else

               cout<<n<<" is prime."<<endl;

        }

    }

    return 0;

  }

 

UVA Problem 10082 Solution

UVA Problem 10327 (Flip Sort) Solution

#include <bits/stdc++.h>

using namespace std;



int main()

{

  int n, array[5000],k, c,count,d,T, t;



  while(scanf("%d",&n)==1)

{

count=0;



    for (c = 0; c < n; c++)

       {

        cin>>array[c];

       }



      for (c = 1 ; c <= n - 1; c++) {

    d = c;

    

    while ( d > 0 && array[d] < array[d-1]) {

       

      t          = array[d];

      array[d]   = array[d-1];

      array[d-1] = t;



      d--;

      count++;

    }

  }





    printf("Minimum exchange operations : %d\n",count);

 

}

  return 0;   

  }

 



 

 

UVA Problem 10082 Solution

UVA Problem 10365(Blocks) Solution

#include <bits/stdc++.h>

using namespace std;

int main()

{

    int n,i,j,k,l,h,w,area,surface_area,tc;

    cin>>tc;

    while( tc-- )

    {

        cin>>n;

        area=1000000;

        for(l=1;l<=n;l++)

            for(h=1;h<=sqrt(n);h++)

                for(w=1;w<=sqrt(n);w++)

                {

                    if(l*h*w==n)//if it a cube

                    {

                       

                        surface_area = (2*l*w)+(2*l*h)+(2*h*w);

                       

                        if(area>surface_area)

                        area=surface_area;

                    }

                }

        printf("%d\n",area);

    }

    return 0;

}

 

UVA Problem 10082 Solution

UVA Problem 10370 (Above Average) Solution

#include <stdio.h>

#include <math.h>

int a[2000];

int main()

{

    int t,n,i,j,sum,count,avg,ans;

    scanf("%d",&t);

    while(t--)

    {  

        sum=0,count=0;

       

        scanf("%d",&n);

       

        for(i=0;i<n;i++)

        {

            scanf("%d",&a[i]);

        }

        for(i=0;i<n;i++)

        {

        sum+=a[i];

       

        }

        avg=sum/n;

       

        for(i=0;i<n;i++)

        {

       

        if(a[i]>avg)

        {

            count++;

        }

       

        }

        printf("%.3f%%\n",((float)count/(float)n)*100);

    }

    return 0;

}

 

UVA Problem 10082 Solution

UVA Problem 10394 (Twin Prims) Solution

#include <stdio.h>

#include<iostream>

#include<math.h>

using namespace std;

bool flag[20000005];

int primes[20000000];

int tprimes[20000000];

int cnt,m=0;



void sieve(int n)

{

cnt=0;

primes[cnt++]=2;

for(int i=3; i<=n; i+=2)

{

if(flag[i] == 0)

{

primes[cnt++] = i;

if(i <= n/i)

{

for(int j=i*i; j<=n; j+=i*2)

flag[j] = 1;

}

}

}

for(int i=1;i<=cnt;i++)

{

    if(primes[i+1]-primes[i]==2)

    {

        m++;

    tprimes[m]=primes[i];

   

    }

}

return ;

}





int main()

{



    int n,i,j,count,l,c;

    sieve(20000000);

    while(scanf("%d",&n)==1)

    {

       cout<<"("<<tprimes[n]<<", "<<tprimes[n]+2<<")"<<endl;

    }

  return 0;

}

 

UVA Problem 10082 Solution

UVA Problem 10424 (Love Calculator) Solution

#include <stdio.h>

#include <iostream>

#include <string.h>

using namespace std;



int main()

{

    char s[100],len;

    int i,j,op,d,sum,ip=0,ip1,ip2;

    float result;

    while(gets(s))

    {

         ip++;

         sum=0;

        len=strlen(s);

        for(i=0;i<len;i++)

        {

            if(s[i]=='a' || s[i]=='A')

            sum+=1;

            if(s[i]=='b' || s[i]=='B')

            sum+=2;

            if(s[i]=='c' || s[i]=='C')

            sum+=3;

            if(s[i]=='d' || s[i]=='D')

            sum+=4;

            if(s[i]=='e' || s[i]=='E')

            sum+=5;

            if(s[i]=='f' || s[i]=='F')

            sum+=6;

            if(s[i]=='g' || s[i]=='G')

            sum+=7;

            if(s[i]=='h' || s[i]=='H')

            sum+=8;

            if(s[i]=='i' || s[i]=='I')

            sum+=9;

            if(s[i]=='j' || s[i]=='J')

            sum+=10;

            if(s[i]=='k' || s[i]=='K')

            sum+=11;

            if(s[i]=='l' || s[i]=='L')

            sum+=12;

            if(s[i]=='m' || s[i]=='M')

            sum+=13;

            if(s[i]=='n' || s[i]=='N')

            sum+=14;

            if(s[i]=='o' || s[i]=='O')

            sum+=15;

            if(s[i]=='p' || s[i]=='P')

            sum+=16;

            if(s[i]=='q' || s[i]=='Q')

            sum+=17;

            if(s[i]=='r' || s[i]=='R')

            sum+=18;

            if(s[i]=='s' || s[i]=='S')

            sum+=19;

            if(s[i]=='t' || s[i]=='T')

            sum+=20;

            if(s[i]=='u' || s[i]=='U')

            sum+=21;

            if(s[i]=='v' || s[i]=='V')

            sum+=22;

            if(s[i]=='w' || s[i]=='W')

            sum+=23;

            if(s[i]=='x' || s[i]=='X')

            sum+=24;

            if(s[i]=='y' || s[i]=='Y')

            sum+=25;

            if(s[i]=='z' || s[i]=='Z')

            sum+=26;

        }

       

        d=0;

        j=1;

        while(j!=0)

        {

            d=d+sum%10;

            sum/=10;

            j++;

            if(sum==0) break;

        }

       

        if(d>=10)

        {

            d = d%10 + (d/10)%10;

        }

        //cout<<"d"<<d<<"\n";

        if(ip%2==1)

         ip1= d;

        else

        {

             ip2=d;

        if(ip1>ip2)

        {

            result=(float)ip2*100/(float)ip1;

        }

        else

        {

            result=(float)ip1*100/(float)ip2;

        }

        printf("%.2f %%\n",result);

        }

    }

    return 0;

}