# 題目: UVa 10050 - Hartals

# 題目說明

題目給總天數及各個 party 的間隔天數
天數從禮拜天開始算,禮拜天為 day 1
周五及周六不算
hartal 的天數

例如:
天數 N = 9party1 = 3party2 = 4

星期
天數day1day2day3day4day5day6day7day8
party1ooo
party2oo
hartal1234

hartal = 4


INPUT:
第一行為一個整數 T ,代表有幾筆資料
每筆資料第一行有兩個整數 NP

  1. N 代表天數
  2. P 代表有 Pparty
    接下來有 P 行,每行讀入一個整數代表這個 party 的間隔天數

OUTPUT:
輸出 hartal 的天數

# 解題方法

先將罷工的天數設為 true
再把周五及周六設為 false
最後算 true 的次數

# 參考程式碼

#include <iostream>
#include <vector>
using namespace std;
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);
	int T, N, P, num;
	vector<bool> days;
	cin >> T;	
	while (T--)
	{
		cin >> N >> P;
		days.assign(N + 1, false);
		while (P--)
		{
			cin >> num;
			for (int i = num; i <= N; i += num) days[i] = true;
		}
		for (int i = 6; i <= N; i += 7) days[i] = days[i + 1] = false;
		int cnt = 0;
		for (int i = 1; i <= N; ++i) if (days[i]) ++cnt;
		cout << cnt << "\n";
	}
	return 0;
}