uva--10050+链表模拟

来源:互联网 发布:淘宝优惠券fanlibao 编辑:程序博客网 时间:2024/06/06 15:54

题目大意:

   给定一个参数h表示两次罢工之间的时间间隔,但星期五星期六不会有罢工;然后给定p个h和总的时间n。计算再n天之内有多少天受罢工影响。

思路:

  用一个数组直接进行模拟,值得注意的是由由于要判断星期五,六,天数要从0开始编号,这样可以用i%7==5||i%7==6进行判断


代码如下:


<span style="font-size:18px;">#include<iostream>#include<cstring>#include<cstdio>using namespace std;int vis[40000],n;void f(int h){    int i=h-1;    while(i<n)    {        if(i%7!=5&&i%7!=6)           vis[i]=1;        i+=h;    }}int main(){    int i,j,k,t,p,cnt;    scanf("%d",&t);    while(t--)    {        cnt=0; memset(vis,0,sizeof(vis));        scanf("%d%d",&n,&p);        while(p--)        {            scanf("%d",&k);            f(k);        }        for(i=0;i<n;i++)            if(vis[i])                cnt++;        printf("%d\n",cnt);    } return 0;}</span>


0 0
原创粉丝点击