Tuesday, September 23, 2014

UVa Solution 10041 - Vito's Family

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int a[1005];

int main()
{
    int test, n, i, j, d, s, sum, med;
    scanf("%d", &test);
    while(test--)
    {
        scanf("%d", &n);
        for(i=1; i<=n; i++)
        {
            scanf("%d", &a[i]);
        }
        sort(a, a+n+1);
        if(n%2==0)
        {
            d=n/2;
            med=a[d];
        }
        else
        {
            d=(n/2)+1;
            med=a[d];
        }
        sum=0;
        for(j=1; j<=n; j++)
        {
            s=abs(med-a[j]);
            sum=sum+s;
        }
        printf("%d\n", sum);
    }
}


Sunday, September 21, 2014

UVa Solution 11541 - Decoding

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;

int main()
{
    char A;
    int i, j, t, test;
    int val, len ;
    string s;
    scanf("%d", &test);
    getchar();
    for(t=1; t<=test; t++)
    {
        cin >> s;
        len=s.length();
        printf("Case %d: ", t);
        for(i=0; i<len; i++)
        {
            val=0;
            if(s[i]>='A' && s[i]<='Z')
            {
                A=s[i];
            }
            else if(s[i]>='0' && s[i]<='9')
            {
                val=val+s[i]-'0';
                i++;
                while(s[i]>='0' && s[i]<='9')
                {
                   val=val*10;
                   val=val+(s[i]-'0');
                   i++;
                }
                i--;
                for(j=0; j<val; j++)
                {
                    printf("%c", A);
                }
            }
        }
        printf("\n");
    }
}

Thursday, September 18, 2014

UVa Solution 10432 - Polygon Inside A Circle

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
#define PI acos(-1.0)

int main()
{
    double rad, n, area;

    while(scanf("%lf %lf", &rad, &n)==2)
    {
        area = n*(rad*rad)*sin((2*PI)/n)*0.5;
        printf("%0.3lf\n", area);
    }
}

UVa Solution 11743 - Credit Check

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;

int main()
{
    char ch[105];
    int i, j, k, test;
    int sum, sum1, sum2;
    int temp, m, d, ans;

    scanf("%d", &test);
    while(test--)
    {
        getchar();
        for(i=0; i<19; i++)
        {
            scanf("%c", &ch[i]);
        }
        sum=0;
        sum1=0;
        for(k=1; k<19; k=k+2)
        {
            if(ch[k-1]==' ')
            {
                k++;
            }
            sum1=sum1+(ch[k]-48);
        }
        sum2=0;
        for(j=0; j<19; j=j+2)
        {
            if(ch[j]==' ')
            {
                j++;
            }
            temp=2*(ch[j]-48);
            if(temp>9)
            {
                d=(temp%10);
                temp=(temp/10)+d;
                sum2=sum2+temp;
            }
            else
            {
                sum2=sum2+temp;
            }
        }
        sum=(sum1+sum2);
        ans=(sum%10);
        if(ans==0)
        {
            printf("Valid\n");
        }
        else
        {
            printf("Invalid\n");
        }
    }
}

Tuesday, September 16, 2014

UVa Solution 10347 - Medians

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;

int main()
{
    double m1, m2, m3;
    double  a, b, c, s, area;
    while(scanf("%lf%lf%lf", &m1, &m2, &m3)==3)
    {
        a=sqrt((2*m2*m2)+(2*m3*m3)-(m1*m1))*0.666666666;
        b=sqrt((2*m1*m1)+(2*m3*m3)-(m2*m2))*0.666666666;
        c=sqrt((2*m1*m1)+(2*m2*m2)-(m3*m3))*0.666666666;

        s=(a+b+c)/2;
        area = sqrt(s*(s-a)*(s-b)*(s-c));

        if(area>0)
        {
            printf("%0.3lf\n", area);
        }
        else
        {
            area=-1;
            printf("%0.3lf\n", area);
        }
    }
}

UVa Solution 10195 - The Knights Of The Round Table

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;

int main()
{
    double  a, b, c;
    double rad, s, v;
    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");
             continue;
        }
        s = (a+b+c)/2;
        v = sqrt(s*(s-a)*(s-b)*(s-c));
        rad = (v/s);
        printf("The radius of the round table is: %0.3lf\n", rad);
    }
}

UVa Solution 11152 - Colourful Flowers

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
#define PI acos(-1.0)

int main()
{
    double  a, b, c, v, s;
    double A_sun, A_v, A_rose;
    double r_sun, d_sun, r_rose;

    while(scanf("%lf%lf%lf", &a, &b, &c)==3)
    {
        s = (a+b+c)/2;
        v = sqrt(s*(s-a)*(s-b)*(s-c));

        d_sun = (a*b*c)/(2*v);
        r_sun = (d_sun/2);
        A_sun = (PI*r_sun*r_sun)-v;

        r_rose = (v/s);
        A_rose = (PI*r_rose*r_rose);

        A_v = v-A_rose;

        printf("%0.4lf %0.4lf %0.4lf\n", A_sun, A_v, A_rose);
    }
}

Compare equality of two string in C

#include <stdio.h> #include<string.h> int main() {     char* country = "Bangladesh";     char* country2;     ...