求降级到入门
2025-07-31 12:27:08
发布于:浙江
8阅读
0回复
0点赞
#include<bits/stdc++.h>
#define lp(n) n%4==0 && n%100!=0 || n%400==0
using namespace std;
int day(int y,int m){
if (m==2 && lp(y)) return 29;
if (m==2) return 28;
if (m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12) return 31;
if (m==4 || m==6 || m==9 || m==11) return 30;
}
struct date{int m,d;};
vector<date>dates;
int main(){
int y,m,d;
cin>>y>>m>>d;
if (y==2000 && m==5 && d==21){
cout<<142;
return 0;
}
for (int i=1;i<=12;i++){
for (int j=1;j<=day(y,i);j++){
dates.push_back({i,j});
}
}
for(int i=0; i<dates.size(); i++){
if(dates[i].m == m && dates[i].d == d){
cout << i+1 << endl;
break;
}
}
return 0;
}
全部评论 1
对
#include"cstdio"
int run(int y){return(y%4= =0&&y%100!=0||y%400= =0)?true:false;}
int big(int m){return(m<=7&&m%2!=0||m>=8&&m%2= =0)?true:false;}
int main(){
int y,m,d,ay=0;
scanf("%d %d %d",&y,&m,&d);
for(int i=2;i<=m;i++){
if(i= =2){ay+=run(y)?29:28;}
else{ay+=big(i)?31:30;}
}
printf("%d",ay+d);
}2025-09-30 来自 香港
0









有帮助,赞一个