标题:这个怎么弄啊
只看楼主
ark1994218
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2013-5-12
结帖率:75%
 问题点数:0 回复次数:3 
这个怎么弄啊
幸运儿

Time Limit: 3000ms, Memory Limit: 10000KB                , Accepted: 0, Total Submissions: 0

Description

游乐园准备抽奖选择一批幸运儿童(X个人)进行玩具奖励,想请你帮忙处理这件事。
这次抽奖是将所有儿童排成一排,然后从一叠卡片的顶部取卡片,卡片号为N;从队列中由1到N进行报数,每次报到N时,第N个儿童离开队列,然后下一个儿童再从1开始报数。当报数报到队列结束的时候,再从一叠卡片的顶部取下一张卡片,再从剩余的队列中从第1人开始根据新的卡片号进行报数。最后,队列中的X个人获奖。
然而,只有到了游戏前的一分钟才知道有多少儿童参加抽奖。请你编写程序,基于卡片和队列中儿童的数量,求出队列中哪些儿童可以获奖。可以确定最多用20张卡片。
例如:队列中有10名儿童,2个幸运位置,卡片号码为3、5、4、3、2,队列位置中1和8的儿童可以获奖,过程如下:
(1)队列1、2、3、4、5、6、7、8、9、10,N=10,X=2,卡片次序为3、5、4、3、2、……
(2)3:划掉3、6、9,剩下1、2、4、5、7、8、10;
(3)5:划掉7,剩下1、2、4、5、8、10;
(4)4:划掉5,剩下1、2、4、8、10;
(5)3:划掉4,剩下1、2、8、10;
(6)2:划掉2、10,剩下1、8;

Input

第1行先输入一个整数N(1≤N≤50)给出参加抽奖的儿童人数,再输入一个整数X(1≤X≤9)给出有多少个幸运位置。
第2行输入20个整数给出前20张卡片上的号码,卡片号码为1~11的整数,用空格隔开。

Output

输出幸运位置列表,用空格隔开。

Sample Input

10 2
3 5 4 3 2 9 6 10 10 6 2 6 7 3 4 7 4 5 3 2


Sample Output

1 8


没思路啊。。。帮帮我啦,各位
搜索更多相关主题的帖子: 儿童 幸运儿 Memory 
2013-06-01 06:59
ark1994218
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2013-5-12
得分:0 
帮帮忙啊,大家
2013-06-01 12:34
天梯2222
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-6-21
得分:0 
#include<stdio.h>
#include<string.h>
int cardNum[20] = {0};  
int isLucky[51] = {0};   
int childLeft,count;
void pickChild(int n,int x){
    int i,j;
    while(1){
        for(i = 0;i < 20;++i){
            count = 0;
            for(j = 1;j <= n;++j){
                count += isLucky[j];
                if(count == cardNum[i]){   
                    isLucky[j] = 0;
                    if(x == --childLeft)return;  
                    count = 0;      
                }
            }
        }
    }
}
int main(){
    int n,x,i;
    scanf("%d%d",&n,&x);
   for(i = 0; i < 20; ++i){
        scanf("%d",cardNum+i);
    }
    for(i = 1;i <= n;++i)isLucky[i] = 1;
    childLeft = n;
    pickChild(n,x);
   for(i=1; i<=n; i++)
    {
        if(isLucky[i]==1)printf("%d ",i);
    }
    return 0;
}
2013-06-21 18:20
天梯2222
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-6-21
得分:0 
我刚用过,其实代码是挺好的。基本上没有啥错误。
2013-06-21 18:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-414162-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038915 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved