【PAT甲级】1061 Dating (20 分)

题意:

给出四组字符串,前两串中第一个位置相同且大小相等的大写字母(A~G)代表了周几,前两串中第二个位置相同且大小相等的大写字母或者数字(0~9,A~N)代表了几点,后两串中第一个位置相同且大小相等的字母所在的位置代表了几分。依照题意输出日期和时间。

AAAAAccepted code:

 1 #define HAVE_STRUCT_TIMESPEC
 2 #include<bits/stdc++.h>
 3 using namespace std;
 4 string s1,s2,s3,s4;
 5 int main(){
 6     ios::sync_with_stdio(false);
 7     cin.tie(NULL);
 8     cout.tie(NULL);
 9     cin>>s1>>s2>>s3>>s4;
10     int cnt=0;
11     int flag=0;
12     char ans1=0,ans2=0;
13     for(int i=0;i<min(s1.size(),s2.size());++i)
14         if(!flag&&s1[i]==s2[i]&&s1[i]>='A'&&s1[i]<='G'){
15             ans1=s1[i];
16             flag=1;
17         }
18         else if(flag==1&&s1[i]==s2[i]&&(s1[i]>='0'&&s1[i]<='9'||s1[i]>='A'&&s1[i]<='N')){
19             ans2=s1[i];
20             flag=2;
21         }
22     int pos=0;
23     for(int i=0;i<min(s3.size(),s4.size());++i)
24         if(s3[i]==s4[i]&&(s3[i]>='A'&&s3[i]<='Z'||s3[i]>='a'&&s3[i]<='z')){
25             pos=i;
26             break;
27         }
28     if(ans1=='A')
29         cout<<"MON";
30     else if(ans1=='B')
31         cout<<"TUE";
32     else if(ans1=='C')
33         cout<<"WED";
34     else if(ans1=='D')
35         cout<<"THU";
36     else if(ans1=='E')
37         cout<<"FRI";
38     else if(ans1=='F')
39         cout<<"SAT";
40     else if(ans1=='G')
41         cout<<"SUN";
42     cout<<" ";
43     if(ans2>='0'&&ans2<='9'){
44         ans2-='0';
45         cout<<0;
46     }
47     else if(ans2>='A'&&ans2<='N')
48         ans2-='A'-10;
49     cout<<(int)ans2<<":";
50     if(pos<10)
51         cout<<0;
52     cout<<pos;
53     return 0;
54 }

 

 

 

posted @ 2019-10-28 01:52  sewage  阅读(187)  评论(0编辑  收藏  举报