2014年1月21日 星期二

[UVA] 579 - ClockHands

/*20140121 hanting*/
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
    double a,b;
    char c;
    while(cin >> a >> c >> b && (a||b))
    {
        double ans=fabs(b*6-(a*30+(b/12)*6));
        if(ans>=360) ans-=360;
        else if(ans>180) ans=360-ans;
        cout<<fixed<<setprecision(3)<<ans<<endl;
    }
    return 0;
}

[UVA] 10062 - Tell me the frequencies!

/*20140121 hanting*/
/*20140121 hanting*/
#include <iostream>
using namespace std;
int main()
{
    string s;
    int gg=1;
    while(getline(cin,s))//要注意空格也要算
    {
        if(gg>1) cout<<endl;
        int a[1000]={0};
        for(int i=0;i<s.size();i++)
        {
            a[s[i]]++;
        }
        int x[1000];
        int j=0;
        char c[1000];
        for(int i=0;i<1000;i++)
        {
            if(a[i]!=0)
            {
                x[j]=a[i];
                c[j]=i;
                j++;
            }
        }
        for(int i=1;i<j;i++)
        {
            if(x[i]<x[i-1])
            {
                swap(x[i],x[i-1]);
                swap(c[i],c[i-1]);
                i=0;
            }
            else if(x[i]==x[i-1])
            {
                if(c[i]>c[i-1])
                {
                    swap(c[i],c[i-1]);
                    i=0;
                }
            }
        }
        for(int i=0;i<j;i++)
        {
            cout<<(int)c[i]<<" "<<x[i]<<endl;
        }
        gg++;
    }
    return 0;
}

2014年1月20日 星期一

[UVA] 10141 - Request for Proposal

/*20140121 hanting*/
#include <iostream>
#include <cstdlib>
#include <cstdio>
using namespace std;
int main()
{
    int n,p;
    int testime=1;
    while(cin>>n>>p && (n!=0 && p!=0) )
    {
        string s_cout;
        double snum=0;
        double sprice=0;
        string s;
        char c;
        cin.get(c);
        for(int i=0;i<n;i++)
        {
            getline(cin,s);
        }
        for(int j=0;j<p;j++)
        {
            string sk;
            getline(cin,sk);
            double price,num;
            cin>>price>>num;
            if(snum<num)
            {
                snum = num;
                sprice = price;
                s_cout = sk;
            }
            else if(snum==num)
            {
                if(sprice>price)
                {
                    sprice = price;
                    s_cout = sk;
                }
            }
            cin.get(c);
            for(int i=0;i<num;i++)
            {
                getline(cin,s);
            }
        }
        if(testime>1) cout<<endl;
        cout<<"RFP #"<<testime<<endl;
        cout<<s_cout<<endl;
        testime++;

    }
    return 0;
}

2014年1月19日 星期日

[UVA] 10107 - What is the Median

/*20140119 hanting*/
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
    int i=0;
    vector<int> a(10);
    a.resize(0);
    while(cin>>a[i])
    {
        a.push_back(a[i]);
        i++;
        sort(a.begin(),a.end());
        int s=i/2;
        if(i%2==1) cout<<a[s]<<endl;
        else cout<<(a[s-1]+a[s])/2<<endl;
    }
    return 0;
}

2013年12月14日 星期六

[UVA] 10071 - Back to High School Physics

/*20131215 hanting*/
//****************************************//
//                                        //
//  (速度)|        /                     //
//        |      /b.                     //
//       v|..../....                     //
//        |a /.    .                     //
//      vo|/c . d  .                     //
//        |____.____.___                  //
//             t   2t  (時間)             //
//                                        //
//   所求等於  c+b+d = a+c+d = v*2t       //
//****************************************//
#include <iostream>
using namespace std;
int main()
{
    int v,t;
    while(cin>>v>>t)
    {
        cout<<v*t*2<<endl;
    }
    return 0;
}

[UVA] 12468 - Zapping

/*20131215 hanting*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    int a,b;
    while(cin>>a>>b && a!=-1 && b!=-1)
    {
        int tem1=abs(b-a);
        int tem2=100-abs(b-a);
        if(tem1>tem2)
        {
            cout<<tem2<<endl;
        }
        else
        {
            cout<<tem1<<endl;
        }
    }
    return 0;
}

[UVA] 11364 - Parking

/*20131215 hanting*/
#include <iostream>
using namespace std;
void change(int &a,int &b)//兩數交換
{
    int tema=a;
    a=b;
    b=tema;
}
void compare(int a[],int n)//排大小
{
    for(int i=1;i<n;i++)
    {
        if(a[i]<a[i-1])
        {
            change(a[i],a[i-1]);
            i=0;
        }
    }
}
int main()
{
    int N;
    cin>>N;
    while(N--)
    {
        int n;
        cin>>n;
        int address[n];
        for(int i=0;i<n;i++)
        {
            cin>>address[i];
        }
        compare(address,n);
        int total=0;
        for(int i=1;i<n;i++)
        {
            total+=address[i]-address[i-1];
        }
        cout<<2*total<<endl;
    }
    return 0;
}