题目:有几个组织,他们每隔一段时间就要举办活动(周期性),问给定的时间内有多少天是有活动的;
活动U币能在周末进行(从周日开始计时,周五、周六休息)。
分析:简单题。直接模拟即可,把周末去掉。
说明:550题了(⊙v⊙)。
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
int used[3655];
int p[101];
int main()
{
int T,N,P;
while (~scanf("%d",&T))
while (T --){
scanf("%d%d",&N,&P);
for (int i = 0 ; i < P ; ++ i)
scanf("%d",&p[i]);
memset(used, 0, sizeof(used));
for (int i = 0 ; i < P ; ++ i)
for (int j = 0 ; j <= N ; j += p[i])
used[j] = 1;
for (int j = 0 ; j <= N ; j += 7)
used[j] = 0;
for (int j = 6 ; j <= N ; j += 7)
used[j] = 0;
int sum = 0;
for (int i = 1 ; i <= N ; ++ i)
sum += used[i];
printf("%d\n",sum);
}
return 0;
}