题目描述:
随着机动车数量的增长, 一些城市为了缓解交通压力, 采取了错峰限行的措施。 错峰限行, 即划定区域在工作日的上下班高峰时段内, 禁止挂有外地车牌和车牌尾号是某些数字的本地车牌的车辆行驶。 某城市( 车牌城市代码为某B )在工作曰的 7:00—9:00、 16:30—18:30 内, 周一限行数字尾号 1 和9, 周二限行数字尾号2和8,周三限行数字尾号3和7,周四限行数字尾号4和6,周五限行数字尾号5和0, 外地车牌全部限行。 现有某个路口一周的车辆通行信息, 部分信息如下表所示。 请编写程序, 输出违章车辆的车牌号码和车主姓名。
车牌号码 | 车主姓名 | 日期 | 星期 |
城B.2D6AF | 何一 | 3月15日 | 1 |
城B.3B09D | 王立 | 3月15日 | 1 |
城B.2D3A2 | 杨子 | 3月17日 | 3 |
城B.36A87 | 杨子 | 3月18日 | 4 |
城B.1F0AB | 李三 | 3月19日 | 5 |
城B.3E6B8 | 邵东 | 3月20日 | 6 |
输入格式:
一个整数n,表示有n条车辆能行的记录。
每行一条通行记录,包括车版号码、车主姓名、日期、星期。
输出格式:
输出若干行违章的记录(按输入的记录从上往下依次输出)。
样例输入:
6 cityB.2D6AF heyi 3.15 1 cityB.3B09D wangli 3.15 1 cityB.2D3A2 yangzi 3.17 3 cityC.36A87 chenshun 3.18 4 cityE.1F0AB lisan 3.19 5 cityB.3E6B8 shaodong 3.20 6
样例输出:
license number owner's name cityB.3B09D wangli cityC.36A87 chenshun cityE.1F0AB lisan
时间限制: 1000ms
空间限制: 256MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
struct che{
char a[200];
char b[200];
double c;
int d;
};
int main(){
int n;
char s;
cin>>n;
che x[1001];
for(int i=0;i<n;i++){
cin>>x[i].a>>x[i].b>>x[i].c>>x[i].d;
}
cout<<"license number owner's name"<<endl;
for(int i=0;i<n;i++){
if(x[i].a[4]!='B'){
if(x[i].d<6){
cout<<x[i].a<<" "<<x[i].b<<endl;
}
}else{
for(int j=10;j>=0;j--){
if(x[i].a[j]>='0'&&x[i].a[j]<='9'){
s=x[i].a[j];
break;
}
}
if(x[i].d==1){
if(s=='1'||s=='9'){
cout<<x[i].a<<" "<<x[i].b<<endl;
}
}else if(x[i].d==2){
if(s=='2'||s=='8'){
cout<<x[i].a<<" "<<x[i].b<<endl;
}
}else if(x[i].d==3){
if(s=='3'||s=='7'){
cout<<x[i].a<<" "<<x[i].b<<endl;
}
}else if(x[i].d==4){
if(s=='4'||s=='6'){
cout<<x[i].a<<" "<<x[i].b<<endl;
}
}else if(x[i].d==5){
if(s=='0'||s=='5'){
cout<<x[i].a<<" "<<x[i].b<<endl;
}
}
}
}
return 0;
}