AOJ 836.周末大法好

160


题目


点击显/隐题目

在火星上,每年有x天。惊奇的是,和地球上一样,火星上也是有星期的概念的,连续的5天工作日,然后连续的2天周末。他们只有周末放假。
现在你的任务是,确定火星上每年可能的最少放假的天数和最多放假的天数。





第一行,一个数字n。代表测试数据数量。
接下来n行,每行一个整数x (1<=x<=1,000,000),代表火星每年有x天。





输出n行,每行两个整数。代表火星上每年可能的最少放假的天数和最多放假的天数。





2
14
2





4 4
0 2





题解



纯模拟即可
想要假期最多,这一年就从周六开始
想要假期最少,这一年就从周一开始

先除以 7 算出一定要过的整星期
然后乘上 2 这是必然要过的假期

在对 7 取余数
对于最小值,多于 5 的话,就能过上下周的假期了
对于最大值, 2 天以内,多一天赚一天


代码


点击显/隐代码
`cpp 周末大法好 https://github.com/OhYee/sourcecode/tree/master/ACM 代码备份
/*/
#define debug
#include
//*/
#include
#include
#include
#include
#include
using namespace std;

int main(){
#ifdef debug
freopen("in.txt", "r", stdin);
int START = clock();
#endif
cin.tie(0);
cin.syncwithstdio(false);

int T;
cin >> T;
while(T--){
int n;
cin >> n;
int mod = n % 7;

int Min = 2 * (n / 7);
if(mod > 5)
Min += mod - 5;

int Max = 2 * (n / 7) + min(mod,2);

cout << Min << " " << Max << endl;
}

#ifdef debug
printf("Time:%.3fs.n", double(clock() - START) / CLOCKSPERSEC);
#endif
return 0;
}
发布评论
  • 点击查看/关闭被识别为广告的评论