1 条题解
-
0
自动搬运
来自洛谷,原作者为

vernal_blossom
OI奇妙吗?搬运于
2025-08-24 22:57:27,当前版本为作者最后更新于2024-05-01 12:51:58,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
思路
按题意模拟即可。
另外题目让把数字转换成汉字再转笔画,其实可以直接数字转笔画。
(不会真有人先把数字转汉字再对应多少笔吧)注意事项
闰年,大月,小月。
代码
#include<bits/stdc++.h> using namespace std; int s[11]={13,1,2,3,5,4,4,2,2,2};//每个数字的笔画 int main() { int a=0,b=0,y=2000,m=1,d=1; while(1) { if(m%2==1 && m<=7)//大月 { if(d>31) { m++; d=1; } } else if(m%2==0 && m>=8)//大月 { if(d>31) { m++; d=1; } } else if(m==2)//二月 { if(y%100==0 && y%400==0)//闰年 { if(d>29) { m++; d=1; } } else if(y%100!=0 && y%4==0)//闰年 { if(d>29) { m++; d=1; } } else//平年 { if(d>28) { m++; d=1; } } } else//小月 { if(d>30) { m++; d=1; } } if(m>12) { y++; m=1; } if(y==2024 && m==4 && d==14) { cout<<b;//输出 return 0; } int sum=s[y%10];//统计笔画 sum+=s[(y%100)/10]+s[(y%1000)/100]+s[y/1000]; sum+=s[m%10]+s[m/10]; sum+=s[d%10]+s[d/10]; if(sum>50) { b++; } else { a++; } d++; } }当然交这份代码上去会超时,而一般提交答案题都是获取到答案后再写份代码输出。
输出代码
#include<bits/stdc++.h> using namespace std; int main() { cout<<???;//这里输出的就不透露了,输出上面那份代码得到的答案就行了 }
- 1
信息
- ID
- 10162
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 1
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者