题意: 给定一个年份, 问该年的五月一号有几天假
分析: 其实就是求某年某月某日是星期几
#include
using namespace std;
const int ans[] = {6, 9, 6, 5, 5, 5, 5};
// 返回0 - 6 具体要加1
int get(int y, int m, int d) {
int tm = m >= 3 ? m - 2 : m + 10;
int ty = m >= 3 ? y : y - 1;
return (ty + ty / 4 - ty / 100 + ty / 400 + (int)(2.6 * tm - 0.2) + d) % 7;
}
int main() {
int t;
scanf("%d", &t);
while (t --) {
int x;
scanf("%d", &x);
printf("%d\n", ans[get(x, 5, 1)]);
}
return 0;
}