PAT准备之2018.7.22

又是划水的一天,感觉今天似乎也没做多少事情,天天也不知道为什么这么累。。唉,最近开始为自己未来担忧了。感觉自己太伤了。。。自己一点也不踏实,浑身的毛病,也不认认真真的学点知识。。唉。

今天只做了两题
1005 Spell It Right (20)(20 分)
比较水的题目把各个数的和用英文输出,只有模拟一下就行了,注意是0的情况。
代码如下:

#include<bits/stdc++.h>

using namespace std;
string op[10] = {"zero","one","two","three","four","five","six","seven","eight","nine"};
typedef long long ll;
vector<int> Getvec(ll x){
    vector<int> vec;
    if(x == 0){
        vec.push_back(0);
    }
    while(x > 0){
        int v = x % 10;
        x /= 10;
        vec.push_back(v);
    }
    return vec;
}
int main(void){
    string str;
    cin >> str;
    ll sum = 0;
    for(int i=0;i<str.length();++i){
        int value = str[i]-'0';
        sum += value;
    }
    vector<int> vec = Getvec(sum);
    reverse(vec.begin(),vec.end());
    for(int i=0;i<vec.size();++i){
        cout << op[vec[i]];
        if(i != vec.size()-1)
            cout << " ";
        else
            cout << endl;
    }
    return 0;
}

1006 Sign In and Sign Out (25)(25 分)
更水的题目了,直接比较一下就行,没有任何坑点。

代码如下:

#include<bits/stdc++.h>

using namespace std;
class Time{
public:
    int HH,MM,SS;
    void Display(){
        printf("%02d:%02d:%02d\n",HH,MM,SS);
    }
};
bool operator == (const Time A,const Time B){
    if(A.HH == B.HH && A.MM == B.MM && A.SS == B.SS)
        return true;
    else
        return false;
}
bool operator < (const Time A,const Time B){
    if(A.HH < B.HH)
        return true;
    else if(A.HH == B.HH && A.MM < B.MM)
        return true;
    else if(A.HH == B.HH && A.MM == B.MM && A.SS < B.SS)
        return true;
    else
        return false;
}
class Person{
public:
    string name;
    Time Begin,End;
};

int main(void){
    int N;
    char ch;
    scanf("%d",&N);
    Person early,last,v;
    bool earlyOK = false,lastOK = false;
    for(int i=1;i<=N;++i){
        cin >> v.name;
        scanf("%d:%d:%d",&v.Begin.HH,&v.Begin.MM,&v.Begin.SS);
        scanf("%d:%d:%d",&v.End.HH,&v.End.MM,&v.End.SS);
        if(!earlyOK || v.Begin < early.Begin){
            early = v;
            earlyOK = true;
        }
        if(!lastOK || last.End < v.End){
            last = v;
            lastOK = true;
        }
    }
    cout << early.name << " " << last.name << endl;
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值