CSDN竞赛第68期记录

这篇具有很好参考价值的文章主要介绍了CSDN竞赛第68期记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

比赛详情

CSDN 编程竞赛六十八期

答题详情

判断题

1.在脉冲调制编码(PCM)中,经过取对数并滤取偏移量的做法后,仍然可以实现原始语音信息的近似无损还原。
A、对
B、错
正确答案: D 考生答案: D

单选题

以下哪一种常见的文件格式与增量编码无关?
A、MP3
B、MP4
C、JPG
D、TXT
正确答案: D 考生答案: D

以下哪一项不是自适应差分脉冲调制编码(ADPCM)能够实现自适应的因素?
A、更高频的采样
B、根据原始信号的动态范围自动调整差分编码的表示比特位数
C、不同时段信号的前后相关性
D、以上皆是
正确答案: A 考生答案: D

填空题

某种信号在调制并取对数后的增量动态范围在-250到正250之间,则可以使用()位增量编码来表示。(用阿拉伯数字填写答
案)
考生答案
9
参考答案
9

编程题

题目名称:小球游戏

某台有10个小球的游戏机,其设定的规则如下:
每一轮游戏在开始之前会把编号为0到9的小球依次放入从左到右编号也为0到9的10个位置;游戏开始后会快速对调任意
两个球的位置若干次,并在结束时要求观众写出从左到右的小球编号顺序,写对就得奖。
由于速度很快,所以直接靠观看写对很难。但有个程序员发现这台游戏机其实有一个固定的长度为n的操作序列数据库,
每一轮游戏都是随机取一个起始操作序列编号和一个结束操作序列编号(操作序列编号从1到n)并从起始到结束依次执行
每个操作序列编号对应的操作,而每个操作序列编号对应的操作就是对该次操作指定的两个编号的位置上的小球进行对
调。
现在给出操作序列数据库和每一轮游戏的起始操作序列编号和结束操作序列编号,求每轮游戏结束时从左到右的小球编号
顺序。

考生解决方案

import java.util.*;
class Main{
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int[] arr = new int[]{0,1,2,3,4,5,6,7,8,9};
		String[] sarr = in.nextLine().split(" ");
		Integer n = Integer.parseInt(sarr[0]);
		Integer m = Integer.parseInt(sarr[1]);
		int[][] cz = new int[n][2];
		for(int i=0;i<cz.length;i++){
			String[] ss = in.nextLine().split(" ");
			cz[i][0] = Integer.parseInt(ss[0]);
			cz[i][1] = Integer.parseInt(ss[1]);
		}
		for(int i=0;i<m;i++) {
			String[] ss = in.nextLine().split(" ");
			int start = Integer.parseInt(ss[0]);
			int end = Integer.parseInt(ss[1]);
			arr = new int[]{0,1,2,3,4,5,6,7,8,9};
			deal(arr,start,end,cz);
		}
	}
	public static void deal(int[] arr,int start,int end,int[][] cz) {
		for(int i=start-1;i<end;i++){
			swap(arr,cz[i][0],cz[i][1]);
		}
		StringBuilder sb = new StringBuilder();
		for(int i=0;i<arr.length;i++) {
			sb.append(arr[i]).append(" ");
		}
		sb.delete(sb.length()-1,sb.length());
		System.out.println(sb.toString());
	}
	public static void swap (int[] arr, int a, int b) {
		int temp = arr[a];
		arr[a] = arr[b];
		arr[b] = temp;
	}
}

题目名称:王子闯闸门

波斯王子要去救被贾法尔囚禁的公主,但贾法尔用黑魔法在他面前设置了编号从1到n的n道闸门。从王子的位置到1号闸门
需要1秒,从n号闸门到公主所在的位置也需要1秒,从p号闸门到p+1或p-1号闸门都需要1秒。 每过1秒钟,王子都必须
决定选择前进一道闸门、后退一道闸门或停在原地这三种动作中的一种。当然,王子不能选择移动到关闭状态的闸门而只
能选择开启状态的闸门。在王子做出动作选择后,闸门也可能会有关闭和开启的动作,如果王子做完动作后,其所在的闸
门在该秒内的动作是从开启变为关闭则他就会被闸门夹死。 现在给出闸门数量n和m个闸门的动作时刻表,求波斯王子需
要多少秒才能救出公主。文章来源地址https://www.toymoban.com/news/detail-626843.html

考生解决方案

import java.util.*;
class Main{
	public static void main(String[] args) {
		HashSet<Integer> set = new HashSet();
		set.add(0);
		Scanner in = new Scanner(System.in);
		String[] sarr = in.nextLine().split(" ");
		int n = Integer.parseInt(sarr[0]);
		int m = Integer.parseInt(sarr[1]);
		HashMap<Integer, HashSet<Integer>> map = new HashMap();
		for(int i=0;i<=n;i++) {
			map.put(i,new HashSet());
		}
		for(int i=0;i<m;i++) {
			String[] ss = in.nextLine().split(" ");
			add(map.get(Integer.parseInt(ss[0])), Integer.parseInt(ss[1]), Integer.parseInt(ss[2]));
		}
		for(int second = 0;second<30;second++) {
			HashSet<Integer> set0 = new HashSet();
			for(Integer a:set) {
				set0.add(a);
				set0.add(a+1);
				if (a>0) {
					set0.add(a-1);
				}
			}
			set = set0;
			set0 = new HashSet();
			for(Integer a:set) {
				if (!map.get(a).contains(second)) {
					set0.add(a);
				}
			}
			set = set0;
			//System.out.println(set.toString());
			if (set.contains(n)) {
				System.out.println(second+1);
				break;
			}
		}
	}
	public static void add(HashSet<Integer> set, int start, int end) {
		for(int i=start;i<=end;i++) {
			set.add(i);
		}
	}
}

到了这里,关于CSDN竞赛第68期记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSDN竞赛第49期题解

    第49期比赛页面:第49期编程竞赛 一、 小海豚喜欢打游戏,现在它在操纵游戏人物小C逃脱废弃的隧道,逃生装置在小C的前方 X 米远的位置。但是游戏机只有 两个按钮:前进和后退,按前进,小C会前进 m 米,按后退,小C会后退 n 米。 小海豚必须设法把小C送到逃生装置上,

    2024年02月03日
    浏览(45)
  • CSDN竞赛第40期题解

    有一只小鱼,它上午游泳150公里,下午游泳100公里,晚上和周末都休息(实行双休日),假设从周x(1=x=7)开始 算起,请问这样过了n天以后,小鱼一共累计游泳了多少公里呢? 编码工作常被运用于密文或压缩传输。这里我们用一种最简单的编码方式进行编码:把一些有规律的单

    2023年04月11日
    浏览(30)
  • CSDN竞赛第59期-参赛体验

    博主 空空star 主页 空空star的主页 大家好,我是空空star,本篇给大家分享一下 《CSDN竞赛第59期-参赛体验》 。 CSDN竞赛 我报名参加了CSDN举办的一场编程比赛,这是我第一次参加这样的竞赛,感觉非常新鲜和兴奋。在比赛前,我花费了不少时间准备,阅读比赛规则和说明,了

    2024年02月11日
    浏览(49)
  • CSDN博客接口基于java调用的x-ca-signature签名算法研究

    本人业余时间会写写CSDN的博客,查看下博客数据,展现量、阅读量什么的。在“作品数据-单篇文章分析”菜单中可以看到每篇文章的总体展现量、阅读量,要是想看每篇文章每日的访问量需要再次点击列表后边的“查看详情”显示的曲线图,一个一个点击着实有些麻烦,所

    2024年02月10日
    浏览(41)
  • 算法竞赛入门【码蹄集新手村600题】(MT1280-1300)C语言

    码蹄集网站地址:https://www.matiji.net/exam/ojquestionlist (1)题目 输入正整数N(1500),首先计算其逆序数M(比如12逆序后是21)。然后输出N的M次方的最后3位数。 格式 样例1 (2)参考代码 (1)题目 一个自然数,如果每一位数的位数次幂之和等于该自然数,则称之为Disarium数。 比如

    2024年02月07日
    浏览(41)
  • 无人机竞赛视觉算法开发流程开源计划(询问大家意见)

    本科中参加过一系列的无人机机器人竞赛,像电赛、工训赛、机器人大赛这些,有一些比较常用的方案打算开源一下。现在读研了,也算是对本科的一个总结,但是还是想看看大家意见,大家有什么需求可以在评论区说,我会多参考,这周我会先整理,下周会放出博客与git

    2024年02月20日
    浏览(38)
  • C语言—每日选择题—Day68

    1、运行以下C语言代码,输出的结果是() A: stra strb strc B: s t r C: stra tra ra D: s s s 这里需要注意的是printf函数,会自动识别字符串,到\\0位置结束打印 而p为char*类型,p++,只会移动一个字节,p++后置++,返回++之前的值 所以第一次打印:stra,但p在t位置 第二次:tra,但p在r位

    2024年04月11日
    浏览(36)
  • Java语言开发在线小说推荐网 小说推荐系统 基于用户、物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据、人工智能、机器学习开发

    1、开发工具和使用技术 MyEclipse10/Eclipse/IDEA,jdk1.8,mysql5.5/mysql8,navicat数据库管理工具,tomcat,SSM(spring+springmvc+mybatis)开发框架,jsp页面,javascript脚本,jquery脚本,bootstrap前端框架(用户端),layui前端框架(管理员端),layer弹窗组件等。 2、实现功能 前台用户包含:注

    2023年04月26日
    浏览(79)
  • 算法leetcode|68. 文本左右对齐(rust重拳出击)

    给定一个单词数组 words 和一个长度 maxWidth ,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 \\\' \\\' 填充,使得每行恰好有 maxWidth 个字符。

    2024年02月13日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包