1061 Dating
Posted CSU迦叶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1061 Dating相关的知识,希望对你有一定的参考价值。
笔记:
第一个输出根据的是大写字母
第二个输出根据的是0-9andA-N
第三个输出根据的是大写字母和小写字母
知道范围便方便确定边界
两两比对时,先遍历一个字符串,遇到在范围内的字符,看其和第二个字符串同位置的字符是否相等
最后注意整数的补零对齐
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int main(){
char str[4][70];
for(int i=0;i<4;i++){
scanf("%s",&str[i]);
}
int len1 = min(strlen(str[0]),strlen(str[1]));
int mark1,mark2,mark3;
for(int i=0;i<len1;i++){
if(str[0][i]-'A'>=0&&'G'-str[0][i]>=0){
if(str[0][i]==str[1][i]){
mark1 = i;
break;
}
}
}
for(int i=mark1+1;i<len1;i++){
if((str[0][i]-'0'>=0&&'9'-str[0][i]>=0)||(str[0][i]-'A'>=0&&'N'-str[0][i]>=0)){
if(str[0][i]==str[1][i]){
mark2 = i;
break;
}
}
}
char res1[10] = "";
int res2 = 0;
switch(str[0][mark1]){
case 'A':
strcpy(res1,"MON");
break;
case 'B':
strcpy(res1,"TUE");
break;
case 'C':
strcpy(res1,"WED");
break;
case 'D':
strcpy(res1,"THU");
break;
case 'E':
strcpy(res1,"FRI");
break;
case 'F':
strcpy(res1,"SAT");
break;
case 'G':
strcpy(res1,"SUN");
break;
}
if(str[0][mark2]-'0'>=0&&'9'-str[0][mark2]>=0){
res2 = str[0][mark2]-'0';
}else{
res2 = str[0][mark2]-'A'+10;
}
int len2 = min(strlen(str[2]),strlen(str[3]));
for(int i=0;i<len2;i++){
if((str[2][i]-'a'>=0&&'z'-str[2][i]>=0)||(str[2][i]-'A'>=0&&'Z'-str[2][i]>=0)){
if(str[2][i]==str[3][i]){
mark3 = i;
break;
}
}
}
printf("%s %02d:%02d",res1,res2,mark3);
return 0;
}
以上是关于1061 Dating的主要内容,如果未能解决你的问题,请参考以下文章