Dating
题目链接:1061 Dating (20 point(s))
题干大意
前两个字符串第一个相同的表示星期,第二个相同的表示小时,后两个字符串第一个相同的位置表示分钟
思路
遍历,找符合要求的字符即可
AC代码
C++ |
---|
| #include <iostream>
#include <string>
#include <vector>
using namespace std;
const vector<string> week{"MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"}; // 用于转换星期
int main()
{
string str1, str2, str3, str4;
cin >> str1 >> str2 >> str3 >> str4;
int k;
for (k = 0; k < str1.length() && k < str2.length(); ++k) { // 找星期
if (str1[k] == str2[k] && str1[k] >= 'A' && str1[k] <= 'G') {
cout << week[str1[k] - 'A'] << " ";
break;
}
}
for (k++; k < str1.length() && k < str2.length(); ++k) { // 接着找小时
if (str1[k] == str2[k]) {
if (str1[k] >= '0' && str1[k] <= '9') {
cout << 0 << str1[k] - '0' << ":";
break;
} else if (str1[k] >= 'A' && str1[k] <= 'N') {
cout << str1[k] - 'A' + 10 << ":";
break;
}
}
}
for (k = 0; k < str3.length() && k < str4.length(); ++k) { // 找分钟
if (str3[k] == str4[k]) {
if (str3[k] >= 'A' && str3[k] <= 'Z' '' str3[k] >= 'a' && str3[k] <= 'z') {
k > 9 ? cout << k : cout << 0 << k;
break;
}
}
}
return 0;
}
|