2014年1月31日 星期五

[UVA] 10370 - Above Average

/*20140201 hanting*/
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int N;
    cin>>N;
    while(N--)
    {
        int num;
        cin>>num;
        int man[num];
        int sum=0;
        for(int i=0;i<num;i++)
        {
            cin>>man[i];
            sum+=man[i];
        }
        double avg=sum/num;
        int con=0;
        for(int i=0;i<num;i++)
        {
            if(man[i]>avg) con++;
        }
        cout<<fixed<<setprecision(3)<<100.*con/num<<"%"<<endl;
    }
    return 0;
}

[UVA] 10222 - Decode the Mad man

/*20140201 hanting*/
#include <iostream>
using namespace std;
int main()
{
    string cs;
    string s="`1234567890-=qwertyuiop[]asdfghjkl;'zxcvbnm,./";
    while(getline(cin,cs))
    {
        for(int i=0;i<cs.size();i++)
        {
            if(cs[i]!=' ')
            {
                cs[i]=s[s.find(cs[i])-2];
            }
        }
        cout<<cs<<endl;
    }
    return 0;
}

[UVA] 12405 - Scarecrow

/*20140131 hanting*/
#include <iostream>
using namespace std;
int main()
{
    int N;
    cin>>N;
    for(int n=1;n<=N;n++)
    {
        int a;
        cin>>a;
        char c;
        cin.get(c);//讀換行記號
        string s;
        getline(cin,s);
        int sum=0;
        for(int i=0;i<s.size();i++)
        {
            if(s[i]=='.')
            {
                sum++;
                i+=2;
            }
        }
        cout<<"Case "<<n<<": "<<sum<<endl;

    }
    return 0;
}

2014年1月30日 星期四

[UVA] 12195 - Jingle Composing

/*20140131 hanting*/
#include <iostream>
using namespace std;
int main()
{
    string s="WHQESTX";
    double a[7]={1,1/2.,1/4.,1/8.,1/16.,1/32.,1/64.};
    string cs;
    while(getline(cin,cs) && cs!="*")
    {
        int sum=0;
        double con=0;
        for(int i=0;i<cs.size();i++)
        {
            if(cs[i]=='/')
            {
                if(con==1) sum++;
                con=0;
            }
            else
                con+=a[s.find(cs[i])];
        }
        cout<<sum<<endl;
    }
    return 0;
}

[UVA] 12149 - Feynman

/*20140131 hanting*/
#include <iostream>
using namespace std;
int main()
{
    int N;
    while(cin>>N && N!=0)
    {
        int sum=0;
        for(int i=1;i<=N;i++)
        {
            sum+=i*i;
        }
        cout<<sum<<endl;
    }
    return 0;
}

[UVA] 10209 - Is This Integration ?

/*20140131 hanting*/
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
    double a;
    while(cin>>a)
    {
        double pi=2.0*acos(0.0);
        double a1,a2,a3;
        double circle=a*a*pi;
        a3=4*(a*a-(circle/2-(circle/3-a*a*pow(3,0.5)/4)));
        a1=2*(circle/2-a*a)-(a*a-a3);
        a2=(a*a-a3)-a1;
        cout<<fixed<<setprecision(3)<<a1<<" "<<a2<<" "<<a3<<endl;
    }
    return 0;
}

2014年1月21日 星期二

[UVA] 10082 - WERTYU

/*20140122 hanting*/
/**暴力法*************************************/
#include <iostream>
using namespace std;
void change(char &c)
{
    if(c=='2') c='1';
    else if(c=='3') c='2';
    else if(c=='4') c='3';
    else if(c=='5') c='4';
    else if(c=='6') c='5';
    else if(c=='7') c='6';
    else if(c=='8') c='7';
    else if(c=='9') c='8';
    else if(c=='0') c='9';
    else if(c=='-') c='0';
    else if(c=='=') c='-';
    else if(c=='W') c='Q';
    else if(c=='E') c='W';
    else if(c=='R') c='E';
    else if(c=='T') c='R';
    else if(c=='Y') c='T';
    else if(c=='U') c='Y';
    else if(c=='I') c='U';
    else if(c=='O') c='I';
    else if(c=='P') c='O';
    else if(c=='[') c='P';
    else if(c==']') c='[';
    else if(c=='\\') c=']';
    else if(c=='S') c='A';
    else if(c=='D') c='S';
    else if(c=='F') c='D';
    else if(c=='G') c='F';
    else if(c=='H') c='G';
    else if(c=='J') c='H';
    else if(c=='K') c='J';
    else if(c=='L') c='K';
    else if(c==';') c='L';
    else if(c=='\'') c=';';
    else if(c=='X') c='Z';
    else if(c=='C') c='X';
    else if(c=='V') c='C';
    else if(c=='B') c='V';
    else if(c=='N') c='B';
    else if(c=='M') c='N';
    else if(c==',') c='M';
    else if(c=='.') c=',';
    else if(c=='/') c='.';
}
int main()
{
    string s;
    while(getline(cin,s))
    {
        for(int i=0;i<s.size();i++)
        {
            if(s[i]!=' ')
            {
                change(s[i]);
            }
        }
        cout<<s<<endl;
    }
    return 0;
}
/***另寫法***************************************/
#include <iostream>
using namespace std;
int main()
{
    string k="1234567890-=QWERTYUIOP[]\ASDFGHJKL;'ZXCVBNM,./";
    string s;
    while(getline(cin,s))
    {
        for(int i=0;i<s.size();i++)
        {
            if(s[i]!=' ')
            {
                s[i]=k[k.find(s[i])-1];
            }
        }
        cout<<s<<endl;
    }
    return 0;
}

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