软件网站下载,查看域名备案信息,wordpress 后台添加文章 没编辑功能,网站开发工程师需要什么技术熟悉的开篇废话#xff0c;最近其实在研究那个web开发这一块#xff0c;导致csp联系就减少了#xff0c;好久没更csp的帖子了#xff0c;尽管明天就要考了#xff0c;但是嘞#xff0c;能看一道是一道呗对吧。
等过段时间我把web开发这一块整明白了就发帖子#xff0c;…熟悉的开篇废话最近其实在研究那个web开发这一块导致csp联系就减少了好久没更csp的帖子了尽管明天就要考了但是嘞能看一道是一道呗对吧。
等过段时间我把web开发这一块整明白了就发帖子把我这个错误大王犯过的疑难杂症整理成一个帖子嘿嘿饼先画到这。
其实这个题我之前有写过一次但是就拿第一个示例来讲输出的1总是少一个我就很疑惑今天把这周的事忙的差不多了就又写了一次没想到一次就写出来啦我太棒啦
我上回错的点就是从c[i]的那个循环那里里边的对b[j]循环是n这个就错了应该是到i细节决定成败啊老铁们还是简单的代码请看最后。
试题编号 202209-1 试题名称 如此编码 时间限制 1.0s 内存限制 512.0MB 问题描述 题目背景 某次测验后顿顿老师在黑板上留下了一串数字 23333 便飘然而去。凝望着这个神秘数字小 P 同学不禁陷入了沉思……
题目描述 已知某次测验包含 n 道单项选择题其中第 i 题1≤i≤n有 ai 个选项正确选项为 bi满足 ai≥2 且 0≤biai。比如说ai4 表示第 i 题有 4 个选项此时正确选项 bi 的取值一定是 0、1、2、3 其中之一。
顿顿老师设计了如下方式对正确答案进行编码使得仅用一个整数 m 便可表示 b1,b2,⋯,bn。
首先定义一个辅助数组 ci表示数组 ai 的前缀乘积。当 1≤i≤n 时满足 cia1×a2×⋯×ai
特别地定义 c01。
于是 m 便可按照如下公式算出
易知0≤mcn最小值和最大值分别当 bi 全部为 0 和 biai−1 时取得。
试帮助小 P 同学把测验的正确答案 b1,b2,⋯,bn 从顿顿老师留下的神秘整数 m 中恢复出来。
输入格式 从标准输入读入数据。
输入共两行。
第一行包含用空格分隔的两个整数 n 和 m分别表示题目数量和顿顿老师的神秘数字。
第二行包含用空格分隔的 n 个整数 a1,a2,⋯,an依次表示每道选择题的选项数目。
输出格式 输出到标准输出。
输出仅一行包含用空格分隔的 n 个整数 b1,b2,⋯,bn依次表示每道选择题的正确选项。
样例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解释 i 1 2 3 4 5 6 7 ai 3 5 20 10 4 3 10 bi 2 2 15 7 3 1 0 ci−1 1 3 15 300 3000 12000 36000 子任务 50% 的测试数据满足ai 全部等于 2即每道题均只有两个选项此时 ci2i
全部的测试数据满足1≤n≤20ai≥2 且 cn≤109根据题目描述中的定义 cn 表示全部 ai 的乘积。
提示 对任意的 1≤j≤n因为 cj1,cj2,⋯ 均为 cj 的倍数所以 m 除以 cj 的余数具有如下性质 其中 % 表示取余运算。令 j 取不同的值则有如下等式 m % c1 c0×b1
m % c2 c0×b1c1×b2
m % c3 c0×b1c1×b2c2×b3⋯ 代码
#includestdio.h
int main()
{int n,m;scanf(%d %d,n,m);int a[n];for(int i1;in;i){scanf(%d,a[i]);}int c[n],cheng;c[0]1;for(int i1;in;i){cheng1;for(int j1;ji;j){chengcheng*a[j];}c[i]cheng;}int b[n];b[1]m%c[1];printf(%d,b[1]);for(int i2;in;i){b[i]((m%c[i])-(m%c[i-1]))/c[i-1];printf( %d,b[i]);}return 0;
}