UVA:133 救济金的发放


思路:过程模拟,模拟每一次选中出局的操作,知道最后没有人时。

注意:1、避免进行数组的删除可以使用将删除的数字置为0 

         2、对环的操作是个难点,如何实现线性数组首尾相连构成环,需要注意数组的下标问题

         3、计算选中的人的数时,需要注意我们使用0代表出局的人,所以数到0时代表该位置为空不应该算数,需要数到非零时才算数

         4、输出格式也是个注意事项,个位数输出两个空格,十位数输出一个空格(presentation error输出格式错误

#include <stdio.h>
#include <iostream>
using namespace std;
//成功
int n,k,m;
int size;
int number(int *a,int r,int a1,int b,int k1,int m1){//用来计算下一个需要踢出的位置
    if(a1==1){//a时
        do{
            r++;
            if(r>=n)r=r-n;
            if(r<=0)r=r+n;
            if(a[r]!=0)//只有当前有人的时候计数才有用,为0时计数没用
            {
                k1--;
            }
            
        }while(k1>0);
        return r;
    }else{//b
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值