2014新生暑假个人排位赛01 B. 学姐去学车

本文介绍了一个基于教练轮换的算法问题,通过分析教练的工作与休息模式,解决学姐在学车过程中每天面对的是哪位教练的问题。该算法通过简单的数学运算实现了高效查询。
时间限制 1000 ms内存限制 65536 KB

题目描述

趁着放假,学姐去学车好带学弟去兜风。但是学车真的很辛苦,每天五点半就要起床赶班车,但是学姐的教练更辛苦,他们要相同的时间到而且日日如此。于是温柔的学姐关切的问了他们的休息情况,教练告诉她,他们两个人倒班教学姐,每个教练每上n天班就会放一天假,如果一个教练放假,就由另一个教练来代课,一直代课到自己放假再换人。 现在学姐想知道,每一天是哪个教练给她上课。

输入格式

输入开始为数据组数T(T10),接下来T组输入,第一行为nm,我们假设第一天教学姐的是教练1,而且他教学姐的前一天刚刚放完假,教练2则会在学姐上课的第m天放假,1mn 以保证每天都有教练教学姐。接下一行为q(q103),即询问次数,接着q行,每行ti表示学姐想问哪天的教练是谁。因为教练们非常非常厉害,而且学姐不知道自己到底会花多久学完车,你的程序要处理的nmti上限为109

输出格式

对于每个询问ti,输出一行,1或2代表当天的教练。

输入样例

1
5 3
3
6
9
13

输出样例

2
1
2

//为什么题意总是这么难懂……烦
#include<cstdio>

int main(){
    int i,j,t,q,a,n,m;
    scanf("%d",&t);
    for(j=0;j<t;j++){
        scanf("%d%d",&n,&m);
        scanf("%d",&q);
        for(i=0;i<q;i++){
            scanf("%d",&a);
            if(a<=n)printf("1\n");
            else{
                int tmp=a%(n+1);
                if(tmp==0||(0<tmp&&tmp<m))printf("2\n");
                else printf("1\n");
            }
        }
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值