uva133救济金发放The Dole Queue

news/2025/1/15 15:06:14/

背景:输出格式永远是程序员的痛啊,所以请一定注意输出格式。

学习:刚看了同学的博客,发现这道题会在小紫书的那个地方出现,是为了让我们练习自底向下的函数构建方式,所以请有兴趣读者自行将下面的代码改成自底向下的函数构建方式,不要像我一样一个main函数到底,因为程序小,一个main函数可以到底,但是当程序大的时候,只写一个main函数的话就过于麻烦。

思路:本题主要在这两个地方需要注意

for(int i=0;i<k;){del1=(del1+1)%n;if(ok[del1]==1) i++;}
for(int j=0;j<m;)
{if(del2==0) del2=n-1;else del2--;if(ok[del2]==1) j++;
}
一个是逆时针数,一个是顺时针数,逆时针数简单,直接加一再对n取余就好了,但是顺时针数的时候就不能一直直接减一了,因为当del2为0的时候,减一就不对了,在这个时候就直接把del2赋值为n-1就好了。然后还需要注意的一点就是del1和del2可能相等,在这个问题上就分开处理就好了。
if(del1==del2)
{ok[del1]=0;sum+=1;printf("%3d",Queue[del1]);
}
else
{ok[del1]=ok[del2]=0;sum+=2;printf("%3d%3d",Queue[del1],Queue[del2]);
}
下面附完整代码。
#include <stdio.h>
int main(void)
{int Queue[21];int n,k,m;while(scanf("%d %d %d",&n,&k,&m)==3&&n&&k&&m){int ok[21];for(int i=0;i<n;i++){Queue[i]=i+1;ok[i]=1;}int del1=-1,del2=n;for(int sum=0;sum<n;){if(sum) printf(",");for(int i=0;i<k;){del1=(del1+1)%n;if(ok[del1]==1) i++;}for(int j=0;j<m;){if(del2==0) del2=n-1;else del2--;if(ok[del2]==1) j++;}if(del1==del2){ok[del1]=0;sum+=1;printf("%3d",Queue[del1]);}else{ok[del1]=ok[del2]=0;sum+=2;printf("%3d%3d",Queue[del1],Queue[del2]);}}printf("\n");}return 0;
}





http://www.ppmy.cn/news/753209.html

相关文章

M个加号插入到数字串中使得加和最小(C++实现)

有一个由数字1-9组成的数字串&#xff08;长度不超过200&#xff09;&#xff0c;问如何将M&#xff08;1<M<200&#xff09;个加号插入这个数字串中&#xff0c;使得所形成的算术表达式的值最小。 加号不能加在数字串的最前面或最末尾&#xff0c;也不应有两个或两个以…

腾讯云轻量服务器香港节点24元30M峰值带宽很值得

腾讯云轻量应用服务器Lighthouse香港地域24元一个月起&#xff0c;30Mbps峰值带宽很值得&#xff0c;云服务器吧分腾讯云香港节点轻量应用服务器配置及优惠价格表&#xff1a; 腾讯云香港轻量应用服务器 腾讯云香港轻量应用服务器 腾讯云轻量应用服务器Lighthouse香港节点不用…

700m信号测试软件,5G(NR)中同步信号的测量(SS-RSRP)

同步信号SS-RSRP (Synchronization Signal Reference Signal Received Power) 是同步信号在每个RE的平均功率,其测量在SMTC中的窗时段进行;kangguoying20210113 在5G(NR)网络中终端基于SS-RSRP进行测量,根据它进行小区选择、重选、功率控制和波束管理;RSRP测量报告生成、报告…

全志D1s/F133学习笔记(1)——MangoPi-MQ(芒果派麻雀)上手试玩

一、资料 D1s是全志针对智能解码市场推出的高性价比AIoT芯片。它使用64bit RISC-V架构的阿里平头哥C906处理器&#xff0c;内置了64M DDR2&#xff0c;支持Linux系统&#xff0c;同时集成了大量自研的音视频编解码相关IP&#xff0c;可以支持H.265,、H.264、MPEG-1/2/4、JPEG等…

ctfshow web133和其他命令执行的骚操作

这里是总结自己最近遇到的命令执行题&#xff0c;感觉还是不错分享出来。也欢迎师傅们评论一些骚操作 一. ctfshow web入门 133 1.正常解 <?php error_reporting(0); highlight_file(__FILE__); //flag.php if($F $_GET[F]){if(!preg_match(/system|nc|wget|exec|passth…

Excel 合并单元格筛选时只出现首行

一、问题描述 如果对合并单元格直接筛选&#xff0c;只能筛选出第一个单元格的值 二、原因分析&#xff1a; Excel筛选单元格时&#xff0c;遇到不连续区域&#xff08;即中间有空白单元格&#xff09;会识别不到后续内容&#xff1b; 合并单元格后&#xff0c; 除首行外&…

解决Github 限制100M大文件上传

笔者在GitHub仓库上传超过100M的video时遇到了push不了的情况&#xff0c;提示限制了100M&#xff0c; this exceeds GitHubs file size limit of 100.00 MB 随后使用 git-lfs 解决了。 Git Large File Storage | Git Large File Storage (LFS) replaces large files such as a…

RT-Thread 柿饼派M7 全志F133 ddr 运行xboot

前言 最近拿到 RT-Thread 柿饼派M7的开发板&#xff0c;默认运行的是RT-Thread Persim OS&#xff0c;不过我把固件给擦除了&#xff0c;无法开机了&#xff0c;所以先从最基本的启动下手开发板板子SDEMMC&#xff0c;也就是板载 SD卡&#xff0c;所以无法使用全志的烧卡工具制…