【PAT甲级】1061 Dating (20 分)

题意:

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

AAAAAccepted code:

 #define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
string s1,s2,s3,s4;
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin>>s1>>s2>>s3>>s4;
int cnt=;
int flag=;
char ans1=,ans2=;
for(int i=;i<min(s1.size(),s2.size());++i)
if(!flag&&s1[i]==s2[i]&&s1[i]>='A'&&s1[i]<='G'){
ans1=s1[i];
flag=;
}
else if(flag==&&s1[i]==s2[i]&&(s1[i]>=''&&s1[i]<=''||s1[i]>='A'&&s1[i]<='N')){
ans2=s1[i];
flag=;
}
int pos=;
for(int i=;i<min(s3.size(),s4.size());++i)
if(s3[i]==s4[i]&&(s3[i]>='A'&&s3[i]<='Z'||s3[i]>='a'&&s3[i]<='z')){
pos=i;
break;
}
if(ans1=='A')
cout<<"MON";
else if(ans1=='B')
cout<<"TUE";
else if(ans1=='C')
cout<<"WED";
else if(ans1=='D')
cout<<"THU";
else if(ans1=='E')
cout<<"FRI";
else if(ans1=='F')
cout<<"SAT";
else if(ans1=='G')
cout<<"SUN";
cout<<" ";
if(ans2>=''&&ans2<=''){
ans2-='';
cout<<;
}
else if(ans2>='A'&&ans2<='N')
ans2-='A'-;
cout<<(int)ans2<<":";
if(pos<)
cout<<;
cout<<pos;
return ;
}
上一篇:PAT (Advanced Level) 1035. Password (20)


下一篇:PAT (Advanced Level) Practice 1042 Shuffling Machine (20 分) 凌宸1642