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;
}
时间: 2024-11-08 19:43:27

UVa 10050 罢工的相关文章

uva 10050 - Hartals

  Problem D: Hartals A social research organization has determined a simple set of parameters to simulate the behavior of the political parties of our country. One of the parameters is a positive integer h (called the hartal parameter) that denotes t

UVA 10050 Hartals (罢工指数,暴力枚举。)

Hartals A social research organization has determined a simple set of parameters to simulate the behavior of the political parties of our country. One of the parameters is a positive integerh (called the hartal parameter) that denotes the average num

编程题目分类(剪辑)

1. 编程入门 2. 数据结构 3. 字符串 4. 排序 5. 图遍历 6. 图算法 7. 搜索:剪枝,启发式搜索 8. 动态规划/递推 9. 分治/递归 10. 贪心 11. 模拟 12. 算术与代数 13. 组合问题 14. 数论 15. 网格,几何,计算几何 [编程入门] PC 110101, uva 100, The 3n+1 problem, 难度 1 PC 110102, uva 10189, Minesweeper, 难度 1 PC 110103, uva 10137, The T

uva 10154 - Weights and Measures【dp】qi

题意:uva 10154 - Weights and Measures 题意:有一些乌龟有一定的体重和力量,求摞起来的最大高度.力量必须承受其上面包括自己的全部的重量. 分析:先按其能举起来的力量从小到大排序 然后定义dp[i] 表示摞起来 i 只乌龟的最小质量. 然后转移就是每次用遍历O(n)的复杂度找最小的,然后记录,保存最大值即可. AC代码: #include<iostream> #include<cstdio> #include<cstring> #inclu

uva 10069 Distinct Subsequences 【dp+大数】

题目:uva 10069 Distinct Subsequences 题意:给出一个子串 x 和母串 s ,求子串在母串中的不同序列的个数? 分析:定义dp[i][j]:x 的前 i 个字母在 s 的前 j 个字母中的出现次数: dp [ i ] [ j ] = dp [ i ] [ j - 1 ] ; if ( x[ i ] == s [ j ] ) dp[i][j]=add(dp[i-1][j-1],dp[i][j]); 注意点:1:出现次数非常大,要用大数加法 2::注意初始化 AC代码:

UVA 562 Dividing coins --01背包的变形

01背包的变形. 先算出硬币面值的总和,然后此题变成求背包容量为V=sum/2时,能装的最多的硬币,然后将剩余的面值和它相减取一个绝对值就是最小的差值. 代码: #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> using namespace std; #define N 50007 int c[102],d

UVA 10341 Solve It

Problem F Solve It Input: standard input Output: standard output Time Limit: 1 second Memory Limit: 32 MB Solve the equation: p*e-x + q*sin(x) + r*cos(x) + s*tan(x) + t*x2 + u = 0 where 0 <= x <= 1. Input Input consists of multiple test cases and te

UVA 11014 - Make a Crystal(容斥原理)

UVA 11014 - Make a Crystal 题目链接 题意:给定一个NxNxN的正方体,求出最多能选几个整数点.使得随意两点PQ不会使PQO共线. 思路:利用容斥原理,设f(k)为点(x, y, z)三点都为k的倍数的点的个数(要扣掉一个原点O).那么全部点就是f(1),之后要去除掉共线的,就是扣掉f(2), f(3), f(5)..f(n).n为素数.由于这些素数中包括了合数的情况,而且这些点必定与f(1)除去这些点以外的点共线,所以扣掉.可是扣掉后会扣掉一些反复的.比方f(6)在f

[UVa] Palindromes(401)

UVA - 401 Palindromes Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Submit Status Description A regular palindrome is a string of numbers or letters that is the same forward as backward. For example, the string "ABCDED