描述
你有身份证吗?你必须在家庭户口簿上登记身份证号码。从身份证上你可以得到每个人的具体个人信息。这个数字有18位,前17位包含特殊含义:前6位代表你来自哪个地区,后8位代表你的生日。
这里是代表你所在地区的代码。
{{11,"Beijing"},{12,"Tianjin"},{13,"Hebei"},{14,"Shanxi"},{15,"Menggu"},{21,"Liaoning"}, {22,"Jilin"}, {23,"Heilongjiang"},{31,"Shanghai"},{32,"Jiangsu"},{33,"Zhejiang"},{34,"Anhui"},{35,"Fujian"},{36,"Jiangxi"},{37,"Shandong"},{41,"Henan"},{42,"Hubei"},{43,"Hunan"},{44,"Guangdong"},{45,"Guangxi"},{46,"Hainan"},{50,"Chongqing"}, {51,"Sichuan"},{52,"Guizhou"},{53,"Yunnan"},{54,"Tibet"},{61,"Shanxi"},{62,"Gansu"},{63,"Qinghai"}, {64,"Ningxia"}, {65,"Xinjiang"}, {71,"Taiwan"},{81,"Hong Kong"},{82,"Macao"}}
然而,在你的身份证中,可能只有33出现,0000被其他数字代替。
这是Samuel的身份证号码331004198910120036你知道他是哪里人吗?前两个数字表示他是浙江省人,19891012是他的生日(年月日)。
输入
输入将包含2部分:第一行是数字n,这里的n表示有n个测试用例。对于每个测试用例,都有一个ID卡号字符串。
输出
根据表输出他来自哪里以及他的生日是什么时候。您可以参考示例输出的格式。
样例输入
1
330000198910120036
样例输出
He/She is from Zhejiang,and his/her birthday is on 10,12,1989 based on the table.
code
#include<iostream>
#include <string> //substr的头文件
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;int main()
{vector<pair<int, string>>data={{11,"Beijing"},{12,"Tianjin"},{13,"Hebei"},{14,"Shanxi"},{15,"Menggu"},{21,"Liaoning"}, {22,"Jilin"}, \{23,"Heilongjiang"},{31,"Shanghai"},{32,"Jiangsu"},{33,"Zhejiang"},{34,"Anhui"},{35,"Fujian"},{36,"Jiangxi"},{37,"Shandong"},\{41,"Henan"},{42,"Hubei"},{43,"Hunan"},{44,"Guangdong"},{45,"Guangxi"},{46,"Hainan"},{50,"Chongqing"}, {51,"Sichuan"},{52,"Guizhou"},\{53,"Yunnan"},{54,"Tibet"},{61,"Shanxi"},{62,"Gansu"},{63,"Qinghai"}, {64,"Ningxia"}, {65,"Xinjiang"}, {71,"Taiwan"},{81,"Hong Kong"},\{82,"Macao"}}; int n;cin>>n;for(int i=0;i<n;i++){string id;cin>>id;string region1;int region=(id[0]-'0')*10+(id[1]-'0');for(const auto&p:data){ //const auto&p : data 这个语句的作用是遍历容器 data 中的每个元素if(p.first==region){ //for语句的作用是找到身份证前2位数字对应的地区region1=p.second;break;}}string year=id.substr(6,4);string month=id.substr(10,2);string day=id.substr(12,2);cout<<"He/She is from "<<region1<<",and his/her birthday is on "<<month<<","<<day<<","<<year<< " based on the table."<<endl;}return 0;
}