Sunday, November 22, 2015

11462 - Age Sort (UVa)

//***Counting Sort***//
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int a[105];

int main()
{
    int n, x, i, cnt;
    while(scanf("%d", &n)==1)
    {
        if(n==0) break;
        for(i=0; i<n; i++)
        {
            scanf("%d", &x);
            a[x]++;
        }
        cnt=0;
        for(i=1; i<=100; i++)
        {
            while(a[i])
            {
                printf("%d", i);
                cnt++;
                if(cnt!=n)
                    printf(" ");
                a[i]--;
            }
        }
        printf("\n");
    }
    return 0;
}

10341 - Solve It (UVa)

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

const double eps  = 1e-9;
const double eps2 = 1e-12;
double p, q, r, s, t , u;

double f(double x)
{
    return p*exp(-x) + q*sin(x) + r*cos(x) + s*tan(x) + t*x*x + u;
}
bool flag;
double solve()
{
    double lo=0., hi=1. , mid;
    int it=100;
    if( f(lo)*f(hi)>eps ) {flag = true;return 0;}

    while(it--)
    {
        mid = (lo+hi)/2.;
        int sa,sb;
        if( f(lo) < -eps ) sa = -1;
        else sa = 1;
        if( f(mid) < -eps ) sb = -1;
        else sb = 1;

        if( sa * sb < 0 )
            hi = mid;
        else lo = mid;
    }
    return mid;
}
int main()
{
    //freopen("in.txt", "r", stdin);
    while(scanf("%lf %lf %lf %lf %lf %lf", &p, &q, &r, &s, &t, &u)!=EOF)
    {
        flag= false;
        double n = solve();
        if(flag) printf("No solution\n");
        else printf("%.4lf\n", n);
    }
    return 0;
}

Wednesday, November 18, 2015

443A - Anton and Letters (Codeforces)

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

int main()
{
    int i, len, k, count=0;
    string s;
    getline(cin, s);
    len = s.length();
    for(i=0; i<len; i++)
    {
        if(s[i]==',' || s[i]=='}')
        {
            k = s[i-1]-'0';
            if(a[k]==0 && k!=75)
                a[k]++, count++;
        }
    }
    cout << count << endl;
    return 0;
}


447A. DZY Loves Hash (Codeforces)

#include<iostream>
#include<cstdio>
#include<cmath>
#include<vector>
using namespace std;
int a[305];

int main()
{
    int p, x, n, rem, i;
    int flag=1, cnf = -1;
    cin >> p >> n;
    for(i=0; i<n; i++)
    {
        cin >> x ;
        rem = x%p;
        if(a[rem]!=0 && flag==1)
        {
           cnf = i+1;
           flag =0;
        }
        a[rem]++;
    }
    cout << cnf << endl;
    return 0;
}

Friday, October 9, 2015

Find the Factorial of a Number (Iterative way)

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

int fact(int n)
{
    int i, ans=1;
    for(i=1; i<=n; i++)
        ans*=i;
    return ans;
}
int main()
{
    int n;
    cin>> n;
    cout << fact(n) << endl;
}

Find Factorial of a Number (Recursively)

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

int fact(int n)
{
    if(n==1) return 1;
    return n*fact(n-1);
}

int main()
{
    int n;
    cin>> n;
    cout << fact(n) << endl;
}

1214 - Large Division (LightOJ)

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

int main()
{
    //freopen("in.txt" , "r", stdin);
    string a;
    long long b, rem;
    int test, t, i;
    cin>> test;
    for(t=1; t<=test; t++)
    {
        cin >> a >> b;
        if(b<0)
            b = b*(-1);
        int len = a.length();
        rem=0;
        for(i=0; i<len; i++)
        {
            if(a[i]=='-')
                i=1;
            rem*=10;
            rem+=(a[i]-'0');
            rem%=b;
        }
        if(rem==0)
            printf("Case %d: divisible\n", t);
        else
            printf("Case %d: not divisible\n", t);
    }
}

Compare equality of two string in C

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