这是我们实验室纳新考试的A题,简单模拟。
话不多说上题干:
哲哲晔晔很难受
Description
哲哲和晔晔最喜欢一起睡懒觉了!可老师又特别喜欢点名,所以每个第一节有课的早晨,他们都会很难受。
因为起床太晚了他们每次都要跑着去教室,迟到了可是要扣分的,他们想知道自己一共扣了多少次分,你能帮帮他们吗。
Input
输入数据共2行
第一行有7个数据代表一周七天老师点名的时间(第一节课开始上课的时间是8:00,结束的时间是9:50,老师只会在这个时间段内点名),大写的X表示这天老师不会点名或者这天第一节没课。
第二行有7个数据代表一周七天哲哲和晔晔一起到达教室的时间,(可能是这一天0:00到23:59的任何时间),大写的X表示这天他们起床失败-_-||。
Output
输出一个整数表示这周他们一共扣了几次分。
我的代码:
#include<iostream>
#include<string.h>
#include<string>
using namespace std;
char ashi[20][7];
char bshi[20][7];
int booka[20];
int bookb[20];
char afen[20][7];
char bfen[20][7];
char c[100];
char d[100];
int main()
{
cin.getline(c,100);
cin.getline(d,100);
// gets(c);
// gets(d);
// puts(c);
int lun=1;
int lenc=strlen(c);
int lend=strlen(d);
for(int i=0;i<lenc;i++){
if(c[i]==' '){
lun++;
continue;
}
if(c[i]=='X'){
booka[lun]=1;
continue;
}
//int j=i;//yong j lai daibiao di i wei
int k=0;
while(c[i]!=':'){
ashi[lun][k]=c[i];
i++;
k++;
}
ashi[lun][k]='\0';
k=0;
i++;
while(c[i]!=' '){
afen[lun][k]=c[i];
i++;
k++;
}
i--;
afen[lun][k]='\0';
}
lun=1;
for(int i=0;i<lend;i++){
if(d[i]==' '){
lun++;
continue;
}
if(d[i]=='X'){
bookb[lun]=1;
continue;
}
//int j=i;//yong j lai daibiao di i wei
int k=0;
while(d[i]!=':'){
bshi[lun][k]=d[i];
i++;
k++;
}
bshi[lun][k]='\0';
k=0;
i++;
while(d[i]!=' '){
bfen[lun][k]=d[i];
i++;
k++;
}
i--;
bfen[lun][k]='\0';
}
for(int i=1;i<8;i++){
// printf("%s %s %d\n",ashi[i],afen[i],booka[i]);
}
for(int i=1;i<8;i++){
// printf("%s %s %d\n",bshi[i],bfen[i],bookb[i]);
}
int cnt=0;
for(int i=1;i<8;i++){
if(booka[i]==1){
continue;
}
if(bookb[i]==1) {
// printf("di %d ci\n",i);
cnt++;
continue;
}
if(strlen(bshi[i])==2){
// printf("di %d ci\n",i);
cnt++;
continue;
}
if(strcmp(ashi[i],bshi[i])<0){
// printf("di %d ci\n",i);
cnt++;
continue;
}
else if(strcmp(ashi[i],bshi[i])>0){
continue;
}
if(strcmp(afen[i],bfen[i])<0){
// printf("di %d ci\n",i);
cnt++;
continue;
}
}
printf("%d\n",cnt);
return 0;
}
总是RE你说难受不难受。。。
或者有没有个大佬给指点一下啊~