蓝桥杯-13届-刷题统计
long long countDay(long long a,long long b,long long n) {
long long ans = 0, week = 5 * a + 2 * b;
ans += n / week * 7;// 需要几个整周
n %= week;// 还剩下几个单天
if (n == 0) return ans;
for (int i = 0; i < 5; i++) {
n -= a;
ans++;
if (n <= 0) return ans;
}
// 因为既不止5天,又不是7天,那就只有6天了//这句是错的
// 因为存在模不尽,但是又正好需要7天的情况
if (n - b <= 0) return ans + 1;
return ans + 2;
}
int main()
{
long long a, b, n;
cin >> a >> b >> n;
cout<<countDay(a, b, n);
return 0;
}
这里我卡了一阵子90%,因为我以为:
- 不能整除7
- 超过5个单天
那一定是6
但是其实这是错误的,因为就算不能整除7,也存在需要7天才能完成的情况(6天不够,7天多了)