题目
{% raw %}
{% endraw %}
在火星上,每年有x天。惊奇的是,和地球上一样,火星上也是有星期的概念的,连续的5天工作日,然后连续的2天周末。他们只有周末放假。
现在你的任务是,确定火星上每年可能的最少放假的天数和最多放假的天数。
{% raw %}
{% endraw %}
第一行,一个数字n。代表测试数据数量。
接下来n行,每行一个整数x (1<=x<=1,000,000),代表火星每年有x天。
{% raw %}
{% endraw %}
输出n行,每行两个整数。代表火星上每年可能的最少放假的天数和最多放假的天数。
{% raw %}
{% endraw %}
2
14
2
{% raw %}
{% endraw %}
4 4
0 2
{% raw %}
题解
纯模拟即可
想要假期最多,这一年就从周六开始
想要假期最少,这一年就从周一开始
先除以 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.sync_with_stdio(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) / CLOCKS_PER_SEC);
#endif
return 0;
}
</div>