首页 > 代码库 > UVa 10050 - Hartals

UVa 10050 - Hartals

题目:有几个组织,他们每隔一段时间就要举办活动(周期性),问给定的时间内有多少天是有活动的;

            活动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;
}


UVa 10050 - Hartals