Wednesday, April 9, 2014

UVa Solution 10282 - Babelfish

#include<iostream>
#include<cstdio>
#include<map>
#include<sstream>
using namespace std;
#define MAX 1005
map<string, string>M;
char line[MAX];

int main()
{
    string s1, s2;
    while(gets(line))
    {
        if(line[0]=='\0') break;
        stringstream ss(line);
        ss >> s1;
        ss >> s2;
        M[s2] = s1;
    }
    string s3;
    while(cin >> s3)
    {
        if(M[s3].length()==0)
        {
          cout << "eh" << endl;
        }
        else
        {
          cout << M[s3] <<endl;
        }
    }
    return 0;
}

Tuesday, April 8, 2014

UVa Solution 11777 - Automate the Grades

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

int main()
{
    int T1, T2, Final , At, CT1, CT2, CT3, CT, total, test, a[5], i, t;
    scanf("%d", &test);
    for(t=1; t<=test; t++)
    {
        scanf("%d%d%d%d", &T1, &T2, &Final, &At);
        for(i=0; i<3; i++)
        {
            scanf("%d", &a[i]);
        }
        sort(a, a+i);
        CT = a[1]+a[2];
        total = (T1+T2+Final+At+CT/2);
        if(total>=90)
        {
            printf("Case %d: A\n",t);
        }
        else if(total>=80 && total<90)
        {
            printf("Case %d: B\n", t);
        }
        else if(total>=70 && total<80)
        {
            printf("Case %d: C\n", t);
        }
        else if(total>=60 && total<70)
        {
            printf("Case %d: D\n", t);
        }
        else if(total<60)
        {
            printf("Case %d: F\n", t);
        }
    }
    return 0;
}

Monday, April 7, 2014

UVa Solution 10107 - What is the Median?


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

int main()
{
    long long a[10005], n, i=0, ans;
    while(scanf("%lld", &n)==1)
    {
        a[i]=n;
        sort(a, a+i+1);
        if(i%2==0)
        {
            printf("%lld\n", a[i/2]);
        }
        else
        {
            ans = a[i/2]+a[(i/2)+1];
            printf("%lld\n", ans/2);
        }
        i++;
    }
    return 0;
}

Friday, April 4, 2014

UVa Solution 11044 - Searching for Nessy


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

int main()
{
    int test, n, m;
    scanf("%d", &test);
    while(test--)
    {
        scanf("%d%d",&n, &m);
        printf("%d\n", (n/3)*(m/3));
    }
    return 0;
}

Thursday, April 3, 2014

UVa Solution 10035 - Primary Arithmetic


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

int main()
{
    long long a, b, rem_a, rem_b, add, carry;
    while(scanf("%lld%lld", &a, &b)==2)
    {
        if(a==0 && b==0)
        {
            break;
        }
        carry=0;
        add=0;
        while(a>0 || b>0)
        {
            rem_a = a%10;
            a = a/10;
            rem_b = b%10;
            b = b/10;
            if((rem_a+rem_b)+add>9)
            {
               carry++;
                add=1;
            }
            else
            {
                add=0;
            }
        }
        if(carry==0)
        {
              printf("No carry operation.\n");
        }
        else if(carry==1)
        {
            printf("%lld carry operation.\n", carry);
        }
        else
        {
             printf("%lld carry operations.\n", carry);
        }
    }
    return 0;
}

Tuesday, April 1, 2014

UVa Solution 10038 - Jolly Jumpers


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

int main()
{
    int a1[3005], a2[3005], i, n, count;
    while(scanf("%d", &n)==1)
    {
        count=1;
        for(i=0; i<n; i++)
        {
            scanf("%d", &a1[i]);
        }
        for(i=0; i<n-1; i++)
        {
            a2[i]=abs(a1[i+1]-a1[i]);
        }
        sort(a2, a2+i);
        for(i=1; i<n; i++)
        {
            if(a2[i]==a2[i-1])
            {
                count=0;
                break;
            }
        }
        if(count==0)
        {
           printf("Not jolly\n");
        }
        else
        {
            printf("Jolly\n");
        }
    }
    return 0;
}

UVa Solution 10018 - Reverse and Add


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

int main()
{
    int test;
    long long  n, count , sum, rem , d;
    scanf("%d",&test);
    while (test--)
    {
        scanf("%lld",&n);
        d=n;
        count=0;
        while(1)
        {
            sum=0;
            while (d>0)
            {
                rem=d%10;
                sum=sum*10+rem;
                d=d/10;
            }
            if (n==sum)
            {
                break;
            }
            else
            {
                d = sum+n;
                n = sum+n;
                count++;
            }
        }
        printf("%lld %lld\n", count , n);
    }
    return 0;
}

Compare equality of two string in C

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