uva10050-罢工

小白书数据结构基础线性表的训练参考

 

题目链接 http://acm.hust.edu.cn/vjudge/problem/19134

 

解题思路

直接模拟。遇到星期五六忽略就行。

 

代码

#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
const int maxLen = 101;
const int maxDay = 3651;
int partyDay[maxLen];
bool Day[maxDay];
int main()
{
    int cases;
    cin >> cases;
    while(cases--) {
    	memset(Day, false, sizeof(Day));
        int day, party;
        int tot = 0;
        cin >> day >> party;
        for(int i=0; i< party; i++) cin >> partyDay[i];
        for(int i=0; i< party; i++) {
            int j=0; j+= partyDay[i];
            while(j<=day) { 
            	if((j+1)%7!=0 && j%7!=0) {
					Day[j] = true; 
					j+= partyDay[i];
				}
				else j+= partyDay[i];
			}
        }
        for(int i=1; i<=day; i++) if(Day[i]) tot++;
        cout << tot << endl;
    }
    return 0;
}

 

posted @ 2016-08-08 00:28  啊嘞  阅读(187)  评论(0编辑  收藏  举报