国庆集训
题目链接:
https://nuoyanli.com/contest/19/problem/C
题面:

题意:
两个学姐是轮流来参加国庆集训答疑的(因为在我印象中17学姐和18学姐并没有同一天出现过在508 ),只有当一个学姐放假时另一个学姐来答疑到她放假为止,其中规定第一天是学姐0来给大家答疑,并且她正好刚放完假,学姐1新生集训第m天后放假。
思路
题意可能很难读懂(预计的水题导致没人出 背锅),但是:
可以将时间看作一个区间寻找规律:
- :学姐0
 - :学姐1
 - :学姐0
 - :学姐1
 - :学姐0
 - :学姐1
…
不难发现,除了第一次长度为以外其余区间的长度均为 
故分两种情况:
- 时,为学姐0,为学姐1。
 - 时,对每一个周期内,前天是学姐0,后天是第学姐1。
 
参考代码:
#include<stdio.h>
int main()
{
    int T,n,m,q,t;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d%d%d",&n,&m,&q);
        while(q--)
        {
            scanf("%d",&t);
            if(t>n+m)
            {
                t=t-(n+m);
                if(t%(n+1)!=0)t=t%(n+1);
                else t=n+1;
                printf("%d\n",t>n-m+1);
            }
            else printf("%d\n",t>n);
        }
    }
    return 0;
}
                                    

                
            
        
浙公网安备 33010602011771号