国庆集训
题目链接:
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号