46求调
查看原帖
46求调
1070431
ywtank楼主2024/10/13 07:58
#include <bits/stdc++.h>
using namespace std;
int sum=0;
int g[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
inline int mx(int a,int b){
	return g[a]>g[b];
}
int ma(int n){
	int m=INT_MIN;
	for(int i=1;i<=n;i*=10){
		m=mx(n/i%10,m);
	}
	return m;
}
int main(){
	int a,b;
	cin >> a;
	getchar();
	cin >> b;
	if(a<1 || a>12){
		sum++;
	}
	if(sum==1){
		if(ma(a)==2){
			if(b<1 || b>28)sum++;
		}
		else if(ma(a)==1 || ma(a)==3 || ma(a)==5 || ma(a)==7 || ma(a)==8 || ma(a)==10 || ma(a)==12){
			if(b<1 || b>31)sum++;
		}else if(b<1 || b>30)sum++;
	}else{
		if(a==2){
			if(b<1 || b>28)sum++;
		}
		else if(a==1 || a==3 || a==5 || a==7 || a==8 || a==10 || a==12){
			if(b<1 || b>31)sum++;
		}else if(b<1 || b>30)sum++;
	}
	cout << sum;
	return 0;
}

希望各位大佬帮忙看看

2024/10/13 07:58
加载中...