UVa10050 Hartals


// 题意:输入n和p个整数H[i],其中H[i]表示每H[i]天会有一次活动(但周五周六除外)。输出前n天中有多少天有活动。模拟从周日开始。

 

#include<cstdio>
#include<cstring>
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

int days[3651];


int main()
{
        int T;
        cin>>T;
        while(T--)
        {
                int d;
                cin>>d; memset(days, 0, sizeof(days));
                int parties;
                cin>>parties;
                while(parties--)
                {
                        int p;
                        cin>>p;
            //直接加p模拟,不必要一个个++
                        for(int i=p;i<=d;i+=p)
                        {
                                if(i%7!=0 && i%7!=6)
                                {
                                        days[i]=1;
                                }
                        }

                }
                int count=0;
                for(int i=1;i<=d;i++)
                {
                        if(days[i]==1)
                                count++;
                }
                cout<<count<<endl;
        }

    return 0;
}

posted on 2014-03-25 09:55  katago  阅读(248)  评论(0编辑  收藏  举报