社区讨论

60pts求条

P12843[蓝桥杯 2025 国 A] 生日相遇问题参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mhphy9hl
此快照首次捕获于
2025/11/08 07:38
4 个月前
此快照最后确认于
2025/11/08 07:38
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
using namespace std;
int m,d1,n,d2,k;bool flag;
inline int getday(int y,int m){
	if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) return 31;
	else if (m == 4 || m == 6 || m == 9 || m == 11) return 30;
	else if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) return 29;
	else return 28;
}
inline int getyear(int y,int m,int d){
	int sum = 0;
	for (int i = 1;i <= y-1;y++) sum += getday(y,i);
	if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) sum += d;
	else if (d == 29 && m == 2) sum += 28;
	else sum += d;
	return sum;
}
int main(){
	cin >> m >> d1 >> n >> d2 >> k;
	for (int i = 2025;i <= 2025+k-1;i++)
		if (abs(getyear(i,m,d1)-getyear(i,n,d2)) % 7 == 0){
			cout << i << "\n";
			flag = 1;
		}
	if (!flag) puts("No Answer");
	return 0;
}
ac_sword liuyitao0703 yangapan

回复

3 条回复,欢迎继续交流。

正在加载回复...