Showing posts with label UVa problem solution. Show all posts
Showing posts with label UVa problem solution. Show all posts

Sunday, March 2, 2014

UVa 10235 - Simply Emirp solution

Problem link :  UVa 10235 - Simply Emirp

Solution : 


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
int prime(long long int n)
{
    int i,j;
    if(n==1)
    return 0;

    if(n==2)
    return 1;

    if(n%2==0)
    return 0;

    int l=sqrt(n);

    for(i=3;i<=l;i+=2)
    {
        if(n%i==0)
        return 0;
    }
    return 1;
}
int main()
{
    long long int n,i,j,m,sum;
    while(scanf("%lld",&n)==1)
    {

        i=0; j=0; sum=0;

        if(prime(n))
            i=1;

        if(i==1)
        {
            m=n;

            while(m!=0)
            {
                sum=((sum*10)+(m%10));
                m/=10;
            }

            if(prime(sum))
            j=1;
        }

        if(j==1 && n!=sum)
            printf("%lld is emirp.\n",n);
        else if(i==1)
            printf("%lld is prime.\n",n);
        else
            printf("%lld is not prime.\n",n);
    }
    return 0;
}




UVa 10222 - Decode the Mad Man solution

Problem link :  UVa 10222 - Decode the Mad Man

Solution : 


#include<stdio.h>
#include<string.h>
int main()
{
    char a[10005];
    int i,l;
    while(gets(a))
    {
        l=strlen(a);
        for(i=0;i<l;i++)
        {
            if(a[i]==']')
                a[i]='p';
            else if(a[i]=='[')
                a[i]='o';
            else if(a[i]=='p' || a[i]=='P')
                a[i]='i';
            else if(a[i]=='o' || a[i]=='O')
                a[i]='u';
            else if(a[i]=='i' || a[i]=='I')
                a[i]='y';
            else if(a[i]=='u' || a[i]=='U')
                a[i]='t';
            else if(a[i]=='y' || a[i]=='Y')
                a[i]='r';
            else if(a[i]=='t' || a[i]=='T')
                a[i]='e';
            else if(a[i]=='r' || a[i]=='R')
                a[i]='w';
            else if(a[i]=='e' || a[i]=='E')
                a[i]='q';

            else if(a[i]=='\'')
                a[i]='l';
            else if(a[i]==';')
                a[i]='k';
            else if(a[i]=='l' || a[i]=='L')
                a[i]='j';
            else if(a[i]=='k' || a[i]=='K')
                a[i]='h';
            else if(a[i]=='j' || a[i]=='J')
                a[i]='g';
            else if(a[i]=='h' || a[i]=='H')
                a[i]='f';
            else if(a[i]=='g' || a[i]=='G')
                a[i]='d';
            else if(a[i]=='f' || a[i]=='F')
                a[i]='s';
            else if(a[i]=='d' || a[i]=='D')
                a[i]='a';

            else if(a[i]=='/')
                a[i]=',';
            else if(a[i]=='.')
                a[i]='m';
            else if(a[i]==',')
                a[i]='n';
            else if(a[i]=='m' || a[i]=='M')
                a[i]='b';
            else if(a[i]=='n' || a[i]=='N')
                a[i]='v';
            else if(a[i]=='b' || a[i]=='B')
                a[i]='c';
            else if(a[i]=='v' || a[i]=='V')
                a[i]='x';
            else if(a[i]=='c' || a[i]=='C')
                a[i]='z';

            else if(a[i]=='=')
                a[i]='0';
            else if(a[i]=='-')
                a[i]='9';
            else if(a[i]=='0')
                a[i]='8';
            else if(a[i]=='9')
                a[i]='7';
            else if(a[i]=='8')
                a[i]='6';
            else if(a[i]=='7')
                a[i]='5';
            else if(a[i]=='6')
                a[i]='4';
            else if(a[i]=='5')
                a[i]='3';
            else if(a[i]=='4')
                a[i]='2';
            else if(a[i]=='3')
                a[i]='1';
            else if(a[i]=='2')
                a[i]='`';
        }
        puts(a);
    }
    return 0;
}




UVa 10195 - The Knights Of The Round Table solution

Problem link :  UVa 10195 - The Knights Of The Round Table

Solution : 


#include<stdio.h>
#include<math.h>
int main()
{
    double a,b,c,i,r;
    while(scanf("%lf %lf %lf",&a,&b,&c)==3)
    {
        if(a<=0||b<=0||c<=0)
            printf("The radius of the round table is: 0.000\n");
        else
        {
            i=(a+b+c)/2;
            r=sqrt((i-a)*(i-b)*(i-c)/i);
            printf("The radius of the round table is: %.3lf\n",r);
        }
    }
    return 0;
}




UVa 10110 - Light more light solution

Problem link :  UVa 10110 - Light more light

Solution : 


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




UVa 10082 - WERTYU solution

Problem link :  UVa 10082 - WERTYU

Solution : 


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

char a[]={"`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./"};

char f(char c)
{
    for(int i=0;i<47;i++)
    {
        if(a[i]==c) return a[i-1];
    }
    return c;
}

int main()
{
    char s[10005];
    while(gets(s))
    {
        int l=strlen(s);
        for(int i=0;i<l;i++) s[i]=f(s[i]);
        puts(s);
    }
    return 0;
}



Tuesday, February 25, 2014

UVa 10079 - Pizza Cutting solution

Problem link :  UVa 10079 - Pizza Cutting

Solution : 


#include<stdio.h>
int main()
{
    long long int a,n;
    while(scanf("%lld",&n)==1)
    {
        if(n<0)
            break;
        a=1+((n*(n+1))/2);
        printf("%lld\n",a);
    }
    return 0;
}




UVa 10071 - Back to High School Physics solution

Problem link :  UVa 10071 - Back to High School Physics

Solution : 


#include<stdio.h>
int main()
{
    int v, t, d;
    while(scanf("%d%d", &v, &t)==2)
    {
        d=(v*(t*2));
        printf("%d\n", d);
    }
    return 0;
}


UVa 10055 - Hashmat the Brave Warrior solution

Problem link :  UVa 10055 - Hashmat the Brave Warrior

Solution : 


#include<stdio.h>
int main()
{
    long long a,b,c;
    while(scanf("%lld %lld",&a,&b)==2)
    {
        if(a>=b)
            c=a-b;
        else
            c=b-a;

        printf("%lld\n",c);
    }
    return 0;
}



UVa 10019 - Funny Encryption Method solution

Problem link :  UVa 10019 - Funny Encryption Method

Solution : 


#include<stdio.h>
int main()
{
    int n,m,a,b,i,t;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        m=n;
        a=0;
        while(m>0)
        {
            a+=m%2;
            m/=2;
        }

        b=0;
        while(n>0)
        {
            i=n%10;
            if(i==1||i==2||i==4||i==8)
                b++;
            else if(i==3||i==5||i==6||i==9)
                b+=2;
            else if(i==7)
                b+=3;
            n/=10;
        }
        printf("%d %d\n",a,b);
    }
    return 0;
}



UVa 10018 - Reverse and Add solution

Problem link :  UVa 10018 - Reverse and Add

Solution : 


#include<stdio.h>
long long rev(long long int n)
{
    long long int i;
    i=0;
    while(n>0)
    {
        i=(i*10)+(n%10);
        n=n/10;
    }
    return i;
}
int main()
{
    long long int a,b,m,t,tc;
    scanf("%lld",&tc);
    for(t=1;t<=tc;t++)
    {
        scanf("%lld",&a);

        m=0;
        b=rev(a);
        while(a!=b)
        {
            a=(a+b);
            b=rev(a);
            m++;
        }
        printf("%lld %lld\n",m,a);
    }
    return 0;
}



Wednesday, January 22, 2014

UVa 1124 - Celebrity Jeopardy solution

Problem link :  UVa 1124 - Celebrity Jeopardy

Solution : 


#include<stdio.h>
int main()
{
    char a[100];
    while(gets(a))
    {
        puts(a);
    }
    return 0;
}




UVa 913 - Joana and the Odd Numbers solution

Problem link :  UVa 913 - Joana and the Odd Numbers

Solution : 


#include<stdio.h>
int main()
{
    long long int a,n;
    while(scanf("%lld",&n)==1)
    {
        a=(((n*(n+2)/2)*3)-6);
        printf("%lld\n",a);
    }
    return 0;
}




UVa 694 - The Collatz Sequence solution

Problem link :  UVa 694 - The Collatz Sequence

Solution : 


#include<stdio.h>
int main()
{
    long long int a,l,c,i,m=0,n;
    while(scanf("%lld %lld",&a,&l)==2)
    {
        if(a<0 && l<0)
            break;
        c=0; i=a; m++;
        while(a<=l)
        {
            c++;
            if(a==1)
                break;
            if(a%2==0)
                a=a/2;
            else
                a=3*a+1;
        }
        printf("Case %lld: A = %lld, limit = %lld, number of terms = %lld\n",m,i,l,c);
    }
    return 0;
}


UVa 686 - Goldbach's Conjecture (II) solution

Problem link :  UVa 686 - Goldbach's Conjecture (II)

Solution : 


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;

bool Isp(int n)
{
    int i,j;
    if(n==1)
    return 0;

    if(n==2)
    return 1;

    if(n%2==0)
    return 0;

    int l=sqrt(n);

    for(i=3;i<=l;i+=2)
    {
        if(n%i==0)
        return 0;
    }
    return 1;
}
int main()
{
    int a,b,i,m,n,c;
    while(scanf("%d",&n)==1)
    {
        if(n==0)
        break;

        a=0,b=0,c=0;

        for(i=n-1;i>=n/2;i--)
        {
            if(Isp(i))
            {
                m=n-i;
                if(Isp(m))
                {
                    c++;
                }
            }
        }

        printf("%d\n",c);
    }
    return 0;
}



UVa 591 - Box of Bricks solution

Problem link :  UVa 591 - Box of Bricks

Solution : 


#include<stdio.h>
int main()
{
    int a[105],n,sum,avg,k,i,st=1;
    while(scanf("%d",&n)==1)
    {
        if(n==0) break;
        sum=0;
        for(i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
            sum+=a[i];
        }
        avg=sum/n; k=0;
        for(i=1;i<=n;i++)
        {
            if(a[i]>avg) k+=(a[i]-avg);
        }
        printf("Set #%d\n",st); st++;
        printf("The minimum number of moves is %d.\n\n",k);
    }
    return 0;
}




UVa 579 - Clock Hands solution

Problem link :  UVa 579 - Clock Hands

Solution : 


#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
    double h,m,t,i,j,k,l,n,a;
    while(scanf("%lf:%lf", &h, &m)==2)
    {
        if(h==0 && m==0)
            break;

        i=((h*30)+(m/2));
        j=(m*6);

        t=i-j;

        if(t<0)
            t*=-1;

        if(t>180)
            t=360-t;

        printf("%.3lf\n",t);
    }
    return 0;
}


UVa 543 - Goldbach's Conjecture solution

Problem link :  UVa 543 - Goldbach's Conjecture

Solution : 


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
using namespace std;

bool Isp(int n)
{
    int i,j;
    if(n==1)
    return 0;

    if(n==2)
    return 1;

    if(n%2==0)
    return 0;

    int l=sqrt(n);

    for(i=3;i<=l;i+=2)
    {
        if(n%i==0)
        return 0;
    }
    return 1;
}
int main()
{
    int a,b,i,m,n;
    while(scanf("%d",&n)==1)
    {
        if(n==0)
        break;

        else if(n<6 && n>0)
            {
                printf("Goldbach's conjecture is wrong.\n");
                continue;
            }

        a=0,b=0;

        for(i=n-1;i>=n/2;i--)
        {
            if(Isp(i))
            {
                m=n-i;
                if(Isp(m))
                {
                    if(i%2==1 && m%2==1)
                    {
                        a=i;
                        b=m;
                        break;
                    }
                }
            }
        }

         if(a>0 && b>0 && a<=b)
            printf("%d = %d + %d\n",n,a,b);
        else if(a>0 && b>0 && b<a)
            printf("%d = %d + %d\n",n,b,a);
        else
            printf("Goldbach's conjecture is wrong.\n");
    }
    return 0;
}


UVa 494 - Kindergarten Counting Game solution

Problem link :  UVa 494 - Kindergarten Counting Game

Solution :


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

int main()
{
    char a[10005];
    int i,l,cnt;
    while(gets(a))
    {
        l=strlen(a); cnt=0;
        for(i=0;i<l;i++)
        {
            if(isalpha(a[i]) && !isalpha(a[i+1])) cnt++;
        }
        printf("%d\n",cnt);
    }
    return 0;
}
 




UVa 488 - Triangle Wave solution

Problem link :  UVa 488 - Triangle Wave

Solution :


#include<stdio.h>
int main()
{
    long long int amp, fre, a,i,j,t,m,tc;

    scanf("%lld", &tc);

    for(t=1;t<=tc;t++)
    {
    scanf("%lld %lld", &amp, &fre);

    for(a=1;a<=fre;a++)
    {
        for(i=1; i<=amp; i++)
        {
          for(j=1; j<=i; j++)
            {
                printf("%lld", i);
            }
            printf("\n");
        }
        for(i=amp-1; i>=1; i--)
        {
            for(j=1; j<=i; j++)
            {
                printf("%lld", i);
            }
            if(t==tc&&a==fre&&i==1)
                break;
            printf("\n");
        }
        printf("\n");
    }
    }
    return 0;
}

UVa 483 - Word Scramble solution

Problem link :  UVa 483 - Word Scramble

Source code : 


#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<stdlib.h>
#include<string.h>
using namespace std;
int main()
{
    char a[100005],b[100005],c[100005];
    int i,j,k,l,m,n;
    while(gets(a))
    {
        l=strlen(a);
        a[l++]=' ';
        a[l]='\0';

        j=0;
        for(i=0;i<l;i++)
        {
            if(a[i]==' ')
            {
                k=(i-1);
                for(m=k;m>=j;m--)
                    cout<<a[m];

                if(i!=(l-1))
                cout<<" ";
                j=i+1;
            }
        }
        cout<<endl;
    }
    return 0;
}