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