首页 > 代码库 > UVa 10050 罢工

UVa 10050 罢工

题意:就是给定一个范围的时间段,第一天是周日,然后周五周六是不会罢工的。有几个党派,他们会每个hi天发起罢工,每个党派有一个hi值。这样,求给定天数中的罢工天数。

思路:从1到n循环天的编号,如果是周五周六(模7等于6或0),则不罢工;如果是其中某个hi的倍数,则必罢工。

这个应该是水题了吧。。虽然开始可能会想到计数问题那个复杂的东西~

Code:

#include<stdio.h>

int main()
{
 int t;
 scanf("%d",&t);
 while(t-->0)
 {
  int n;
  scanf("%d",&n);
  int p;
  scanf("%d",&p);
  int h[105];
  for(int i=0;i<p;++i)
   scanf("%d",&h[i]);
  
  int cnt=0;
  for(int i=1;i<=n;++i)
  {
   if(i%7==6||i%7==0) cnt++;
   else
   {
    int flag=0;
    for(int j=0;j<p;++j)
    {
     if(i%h[j]==0) {flag=1;break;}       
    }   
    if(flag==0) cnt++;
   }       
  } 
  printf("%d\n",n-cnt);          
 }
 return 0;   
}


UVa 10050 罢工