讨论区遍历计划0012号

天生我材必有难,千金散尽还债来  •  3个月前


#include<iostream>
#include<string>
using namespace std;
int reqinain(string b) {
	string c;
	c=b.substr(6,4);
	if(c>="1980"&&c<="2006") {
		return 1;
	} else {
		return 0;
	}
}
int reqiyue(string b) {
	string c;
	c=b.substr(10,2);
	if(c>="01"&&c<="12") {
		return 1;
	} else {
		return 0;
	}
}
int reqire(string b) {
	string nain,yue,re;
	re=b.substr(12,2);
	yue=b.substr(10,2);
	nain=b.substr(6,4);
	int nain1=nain[0]-'0';
	int nain2=nain[1]-'0';
	int nain3=nain[2]-'0';
	int nain4=nain[3]-'0';
	int nainz=nain1*1000+nain2*100+nain3*10+nain4;
	if(nainz%4==0&&nainz%100!=0||nainz%400==0) {
		if(yue=="01"||yue=="03"||yue=="05"||yue=="07"||yue=="08"||yue=="10"||yue=="12") {
			if(re>="01"&&re<="31") {
				return 1;
			} else {
				return 0;
			}
		}
		if(yue=="04"||yue=="06"||yue=="09"||yue=="11") {
			if(re>="01"&&re<="30") {
				return 1;
			} else {
				return 0;
			}
		}
		if(yue=="02") {
			if(re>="01"&&re<="29") {
				return 1;
			} else {
				return 0;
			}
		}
	} else {
		if(yue=="01"||yue=="03"||yue=="05"||yue=="07"||yue=="08"||yue=="10"||yue=="12") {
			if(re>="01"&&re<="31") {
				return 1;
			} else {
				return 0;
			}
		}
		if(yue=="04"||yue=="06"||yue=="09"||yue=="11") {
			if(re>="01"&&re<="30") {
				return 1;
			} else {
				return 0;
			}
		}
		if(yue=="02") {
			if(re>="01"&&re<="28") {
				return 1;
			} else {
				return 0;
			}
		}
	}
}
string haoma(string b) {
	string c;
	int k=(b[0]-'0')*7+(b[1]-'0')* 9 +(b[2]-'0')*10 +(b[3]-'0')*5 +(b[4]-'0')*8 +(b[5]-'0')*4 +(b[6]-'0')*2 +(b[7]-'0')*1 +(b[8]-'0')*6 +(b[9]-'0')*3 +(b[10]-'0')*7+(b[11]-'0')* 9 +(b[12]-'0')*10+(b[13]-'0')* 5 +(b[14]-'0')*8+(b[15]-'0')* 4 +(b[16]-'0')*2;
	int s=k%11;
	if(s==0) {
		c="1";
	}
	if(s==1) {
		c="0";
	}
	if(s==2) {
		c="X";
	}
	if(s==3) {
		c="9";
	}
	if(s==4) {
		c="8";
	}
	if(s==5) {
		c="7";
	}
	if(s==6) {
		c="6";
	}
	if(s==7) {
		c="5";
	}
	if(s==8) {
		c="4";
	}
	if(s==9) {
		c="3";
	}
	if(s==10) {
		c="2";
	}
	return c;
}
int main() {
	int a,zz;
	cin>>a;
	for(int k=0; k<a; k++) {
		zz=0;
		string b;
		cin>>b;
		if(zz==0) {
			int m=reqinain(b);
			if(m==0) {
				cout<<"Y"<<endl;
				zz=1;
			}
		}
		if(zz==0) {
			int n=reqiyue(b);
			if(n==0) {
				cout<<"M"<<endl;
				zz=1;
			}
		}
		if(zz==0) {
			int o=reqire(b);
			if(o==0) {
				cout<<"D"<<endl;
				zz=1;
			}
		}
		if(zz==0) {
			string p=haoma(b);
			if(p[0]!=b[17]) {
				for(int k=0; k<17; k++) {
					cout<<b[k];
				}
				cout<<p<<endl;
				zz=1;
			}
		}
		if(zz==0) {
		cout<<"T"<<endl;
		}
	}
	return 0;
}

评论:

请先登录,才能进行评论