心如止水
Je n'ai pas le temps
posts - 400,comments - 130,trackbacks - 0
用一个数组记录哪些天有罢工。数据规模很小,直接模拟即可。
以下是我的代码:
#include<cstdio>
#include
<algorithm>
using namespace std;
const int kMaxn(3657);

bool d[kMaxn];

int main()
{
    
/*
    freopen("data.in","r",stdin);
    freopen("data.out","w",stdout);
    //
*/

    
int T;
    scanf(
"%d",&T);
    
while(T--)
    {
        
int n,p;
        scanf(
"%d%d",&n,&p);
        fill(d,d
+kMaxn,false);
        
for(int i=1;i<=p;i++)
        {
            
int h;
            scanf(
"%d",&h);
            
int j(0),k(6);
            
while(j<=n)
            {
                j
+=h;
                k
=(k+h)%7;
                
if(k!=5 && k!=6)
                    d[j]
=true;
            }
        }
        
int ans(0);
        
for(int i=1;i<=n;i++)
            
if(d[i])
                ans
++;
        printf(
"%d\n",ans);
    }

    
return 0;
}
posted on 2011-04-13 11:10 lee1r 阅读(395) 评论(0)  编辑 收藏 引用 所属分类: 题目分类:基础/模拟

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理