题目

{% 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 %}




{% endraw %}

题解

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

先除以 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>