Tuesday, September 16, 2014

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

UVa Solution 10522 - Height to Area

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

int main()
{
    int t, test;
    double a, b, c, s, area;
    double A, B, C;
    scanf("%d", &test);
    t=0;
    while(t!=test)
    {
        scanf("%lf%lf%lf", &a, &b, &c);
        if(a<=0 || b<=0 || c<=0)
        {
            printf("These are invalid inputs!\n");
            t++;
            continue;
        }
        A=(1/a);
        B=(1/b);
        C=(1/c);
        s=(A+B+C)*(B+C-A)*(A-B+C)*(A+B-C);
        if(s<0)
        {
            printf("These are invalid inputs!\n");
            t++;
        }
        else
        {
            area=(1/s);
            printf("%0.3lf\n", sqrt(area));
        }
    }
}

Monday, September 15, 2014

UVa Solution 11364 - Parking

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int a[105];
int main()
{
    int test, p, i, n;
    scanf("%d", &test);
    while(test--)
    {
        scanf("%d", &n);
        for(i=0; i<n; i++)
        {
            scanf("%d", &a[i]);
        }
        sort(a, a+n);
        for(i=0; i<n; i++)
        {
            p=a[n-1]-a[0];
        }
        printf("%d\n", p*2);
    }
}

UVa Solution No:2 11219 - How old are you?

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

int main()
{
    string s1, s2;
    int i, j, t, test, age;
    int d1, d2, m1, m2, y1, y2;

    cin >> test;
    for(t=1; t<=test; t++)
    {
        cin >> s1;
        cin >> s2;
        for(i=0; s1[i]!='\0'; i++)
        {
            if(i==0)
            {
                d1=s1[i]-48;
                d1=d1*10;
            }
            if(i==1)
            {
                d1= d1+(s1[i]-48);
            }
            if(i==3)
            {
                m1=s1[i]-48;
                m1=m1*10;
            }
            if(i==4)
            {
                m1= m1+(s1[i]-48);
            }
            if(i>=6 || i>=9)
            {
                if(i==6)
                {
                    y1 = s1[i]-48;
                }
                if(i==9)
                {
                    break;
                }
                y1 = y1*10;
                y1 = y1+(s1[i+1]-48);
            }
        }
        for(j=0; s2[j]!='\0'; j++)
        {
            if(j==0)
            {
                d2=s2[j]-48;
                d2=d2*10;
            }
            if(j==1)
            {
                d2=d2+(s2[j]-48);
            }
            if(j==3)
            {
                m2=s2[j]-48;
                m2=m2*10;
            }
            if(j==4)
            {
                m2=m2+(s2[j]-48);
            }

            if(j>=6 || j>=9)
            {
                if(j==6)
                {
                    y2 = s2[j]-48;
                }
                if(j==9)
                {
                    break;
                }
                y2 = y2*10;
                y2 = y2+(s2[j+1]-48);
            }
        }
        age=y1-y2;
        if(m1==m2)
        {
            if(d1<d2)
            {
                age=age-1;
            }
        }
        if(m1<m2)
        {
            age=age-1;
        }

        if(age<0)
        {
            printf("Case #%d: Invalid birth date\n", t);
        }
        else if(age>130)
        {
            printf("Case #%d: Check birth date\n", t);
        }
        else
        {
            printf("Case #%d: %d\n", t, age);
        }
    }
    return 0;
}


UVa Solution 11219 - How old are you?

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

int main()
{
    int t, test, age;
    int d1, m1, y1;
    int d2, m2, y2;
    scanf("%d", &test);
    for(t=1; t<=test; t++)
    {
        scanf("%d/%d/%d", &d1, &m1, &y1);
        scanf("%d/%d/%d", &d2, &m2, &y2);
        age = y1-y2;
        if(m1==m2)
        {
            if(d1<d2)
            {
                age=age-1;
            }
        }
        if(m1<m2)
        {
            age=age-1;
        }

        if(age<0)
        {
            printf("Case #%d: Invalid birth date\n", t);
        }
        else if(age>130)
        {
            printf("Case #%d: Check birth date\n", t);
        }
        else
        {
            printf("Case #%d: %d\n", t, age);
        }
    }
}

Tuesday, September 9, 2014

UVa Solution 438 - The Circumference of the Circle

#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
#define PI 3.141592653589793

int main()
{
    double x1, x2, x3, y1, y2, y3;
    double a, b, c, d, s, r, area, cir;
    while(cin>>x1>> y1>>x2>>y2>>x3>>y3)
    {
        a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
        b=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
        c=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
        s=(a+b+c)/2;
        area=sqrt(s*(s-a)*(s-b)*(s-c));
        d=(a*b*c)/(2*area);
        r=(d/2);
        cir=(2*PI*r);
        printf("%0.2lf\n", cir);
    }
    return 0;
}

Saturday, September 6, 2014

UVa Solution 10931 - Parity

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

int main()
{
      int a[105], count;
      int bin ,i , j;
      while(scanf("%d",&bin)==1)
      {
          if(bin==0)
          {
              break;
          }
          i=0;
          while(bin>0)
          {
               a[i]=bin%2;
               i++;
               bin=bin/2;
          }
          count=0;
          cout <<"The parity of ";
          for(j=i-1;j>=0;j--)
          {
                printf("%d",a[j]);
                if(a[j]==1)
                {
                  count=count+1;
                }
          }
          cout << " is " << count << " (mod 2)." << endl;
      }
 }

Compare equality of two string in C

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