AcWing 4699. 如此编码 寒假每日一练
某次测验后,顿顿老师在黑板上留下了一串数字 23333 便飘然而去。
凝望着这个神秘数字,小 P同学不禁陷入了沉思……
已知某次测验包含 n道单项选择题,其中第 i 题(1≤i≤n)有 ai 个选项,正确选项为 bi,满足 ai≥2 且 0≤bi<ai。
比如说,ai=4 表示第 i 题有 4 个选项,此时正确选项 bi 的取值一定是 0、1、2、3 其中之一。
顿顿老师设计了如下方式对正确答案进行编码,使得仅用一个整数 m便可表示 b1,b2,⋯,bn。
首先定义一个辅助数组 ci,表示数组 ai 的前缀乘积。
当 1≤i≤n时,满足:
特别地,定义 c0=1。
于是 m 便可按照如下公式算出:
易知,0≤m<cn,最小值和最大值分别当 bi 全部为0和 bi=ai− 时取得。
试帮助小 P 同学,把测验的正确答案 b1,b2,⋯,bn 从顿顿老师留下的神秘整数 m 中恢复出来。
输入格式
输入共两行。
第一行包含用空格分隔的两个整数 n和 m,分别表示题目数量和顿顿老师的神秘数字。
第二行包含用空格分隔的 n个整数 a1,a2,⋯,an依次表示每道选择题的选项数目。
输出格式
输出仅一行,包含用空格分隔的 n个整数 b1,b2,⋯,bn依次表示每道选择题的正确选项。
数据范围
50%的测试数据满足:ai 全部等于2,即每道题均只有两个选项,此时 ci=2^i;
全部的测试数据满足:1≤n≤20,ai≥2 且 cn≤10^9(根据题目描述中的定义 cn表示全部 ai的乘积)。
输入样例1:
15 32767
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
输出样例1:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
输入样例2:
4 0
2 3 2 5
输出样例2:
0 0 0 0
输入样例3:
7 23333
3 5 20 10 4 3 10
输出样例3:
2 2 15 7 3 1 0
样例3解释
提示
思路
根据题目的目的是根据m和a求出b数组;
代码
#include <bits/stdc++.h>
using namespace std;
const int N=110;int a[N],b[N],c[N];
int n,m;
int main()
{memset(c,1,sizeof(c));cin>>n>>m;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++){b[i]=m%a[i];m/=a[i];}for(int i=1;i<=n;i++)cout<<b[i]<<" ";return 0;
}
AcWing 4699. 如此编码 寒假每日一练相关推荐
- 【寒假每日一题】AcWing 4699. 如此编码
目录 一.题目 1.原题链接 2.题目描述 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 一.题目 1.原题链接 4699. 如此编码 - AcWing题库 2.题目描述 某次测验后,顿顿 ...
- AcWing - 寒假每日一题2023(DAY 11——DAY 15)
文章目录 一.AcWing 4656. 技能升级(困难) 1. 实现思路 2. 实现代码 二.AcWing 4454. 未初始化警告(简单) 1. 实现思路 2. 实现代码 三.AcWing 4509 ...
- AcWing寒假每日一题2058. 笨拙的手指
AcWing寒假每日一题2058. 笨拙的手指 题目描述 奶牛贝茜正在学习如何在不同进制之间转换数字. 但是她总是犯错误,因为她无法轻易的用两个前蹄握住笔. 每当贝茜将数字转换为一个新的进制并写下结果 ...
- 每日一练社区(C/C++)(困难)----擅长编码的小k
擅长编码的小k 题目描述 代码分析 输出结果 其余题目 题目描述 小k不仅擅长数学,也擅长编码.有一种编码方式如下: 首先写下文本中间的字符(如果文本中的字符编号为1-n,那么中间一个字符的编 ...
- 【寒假每日一题】AcWing 4700. 何以包邮?
目录 一.题目 1.原题链接 2.题目描述 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.知识风暴 0-1背包问题 一.题目 1.原题链接 4700. 何以包邮? - AcWing题库 ...
- 计算机二级7月考试,2020年计算机二级MS Office考试每日一练(7月27日)
[摘要] 小编整理了2020年计算机二级MS Office考试每日一练(7月27日)的相关内容,下面一起来看看2020年计算机二级MS Office考试每日一练(7月27日)的具体内容吧,希望能够帮助 ...
- 倪文迪陪你学蓝桥杯2021寒假每日一题:1.11日(2017省赛A第9题)
2021年寒假每日一题,2017~2019年的省赛真题. 本文内容由倪文迪(华东理工大学计算机系软件192班)和罗勇军老师提供. 后面的每日一题,每题发一个新博文,请大家看博客目录:https://b ...
- C语言每日一练——第28天:要求输出国际象棋棋盘
C语言每日一练 2021年10月6日 题目描述 要求输出国际象棋棋盘 分析 先看看国际象棋的棋盘的长相: 可以看出,国际象棋棋盘呈正方形,里面包含8x8总共64个小方格,它们黑白相间.要想在控制台输出 ...
- 数据结构与算法——每日一练(4月)
文章目录 每日一练 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 ...
最新文章
- JS实现HashMap
- jackson的jar包下载
- python 图表_新手向——制作web图表(基于Python和GooPyCharts)
- linux 产生0~100内的随机数
- 值更新事件(触发带基础属性到指定字段)
- 字符串相似度匹配算法python_算法字符串相似度得分/哈希
- 数云:PolarDB助力数云轻松应对双十一
- SQL-10 获取所有非manager的员工emp_no
- Win11管理员已阻止你运行此应用,有关详细信息怎么处理?
- 若泽数据 巨人_面部识别巨人拒绝分享有关其算法数据集的详细信息
- java我的世界损坏的种子,我的世界:5分钟让你通关游戏的种子,大神用这种子破了世界纪录...
- mysql非整型分区_mysql分区
- 关于诺顿身份安全2013独立版(Norton Identity Safe)
- 中台战略:企业数字化转型利器
- 昇腾modelzoo复现yolov4_v1(模型训练+网络定义)
- 让你的系统无懈可击 史上优秀防火墙一览
- 电脑自动关机是什么原因?为什么电脑会自动关机?轻松弄懂
- ssh备考-05Struts2 Action类下的重要API(原生Servlet的API、跳转配置、框架自身的数据封装、自定义拦截器)
- QT设置窗口折叠效果QPropertyAnimation
- 人工神经网络算法的应用,神经网络是机器算法吗
热门文章
- Gmapping的个人理解
- 职场感悟之我这一年多
- StopWatch(秒表)实现计时
- CUDA性能优化系列——Kmeans算法调优(二)
- Python将文件映射到内存使用mmap.mmap()函数
- Unity_MegaFiers_Bubble
- android remoteview 缓存,关于RemoteView的一点愚见(实现桌面小部件)
- python变量隔一个数取出来_Python(二):变量、常量,字符串操作
- 学计算机容易得什么病,常用电脑容易得什么病
- 什么是专利驳回?专利驳回的原因有哪些?