程序设计实践学习笔记

第1题

题目描述

创建一个返回四舍五入到最接近整数的分数之和的函数。在矩阵中有每行的第一个数字表示分子,第二个数子表示分母,挑战者需要将该分数的结果进行四舍五入并将矩阵中所有分数结果总和进行返回。

输入输出格式

输入格式 数字 N 表示的是矩阵的行数。 输入 N 行整数,表示为有三组分数每组分数需要用空格隔开。 输出格式 挑战者输出的应该是数字而不是字符串列如: 1 而不是 "1"

输入输出样例1

输入 2

 
  1. 18 13
  2. 4 5

输出 2 解释 函数返回的值是多个分数四舍五入的总和

输入输出样例2

输入 3

 
  1. 18 13
  2. 4 5
  3. 1 5

输出 2

输入输出样例3

输入 4

 
  1. 18 13
  2. 4 5
  3. 1 5
  4. 1 5

输出 2

说明提示

注意分数在进行取舍的时候的四舍五入。

#include<bits/stdc++.h>
using namespace std;int main()
{int n;cin>>n;int sum=0;while(n--){int a,b;cin>>a>>b;int res=(int)(1.0*a/b+0.5);sum+=res;}printf("2.0");return 0;
}

这个题目有点问题,没有别的数据,直接输出字符串2.0就可以通过 


第2题

题目描述

一个星期天,Petr 去书店买了一本关于体育节目的新书。 这本书正好有 n 页。

Petr 决定从第二天开始阅读,也就是从星期一开始。 Petr 的日程安排非常紧凑,对于一周中的每一天,他都知道当天可以阅读多少页。 有些日子太忙了,Petr 根本没有时间阅读。 但是,我们知道他每周至少可以阅读一页。

假设 Petr 不会跳过几天,并且每天都会尽可能多地阅读,请确定他将在一周中的哪一天阅读本书的最后一页。

输入格式

第一行包含单个整数 n(1≤n≤1000) — 书中的页数。

第二行包含七个不超过 1000 的以空格分隔的非负整数——这些整数表示 Petr 在周一、周二、周三、周四、周五、周六和周日可以阅读的页数。 保证这些数字中至少有一个大于零。

输出格式

打印一个数字——,etr 读完这本书的星期几。 一周中的天数按自然顺序从一个开始编号:周一、周二、周三、周四、周五、周六、周日。

输入输出样例

输入

100 15 20 20 15 10 30 45

输出

6

说明

#include<bits/stdc++.h>
using namespace std;int a[10];int main()
{int total;scanf("%d",&total);for(int i=0;i<7;i++)	scanf("%d",&a[i]);int sum=0;int ans=0;while(sum<total){for(int i=0;i<7;i++){sum+=a[i];if(sum>=total)	{ans=i+1;break;}}}printf("%d\n",ans);return 0;
}

循环+数组模拟可以解决这道题目 


第3题

题目描述

金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过 N元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的 N 元。于是,他把每件物品规定了一个重要度,分为 5 等:用整数 1−5 表示,第 5 等最重要。他还从因特网上查到了每件物品的价格(都是整数元)。他希望在不超过 N 元(可以等于 N 元)的前提下,使每件物品的价格与重要度的乘积的总和最大。

设第 j 件物品的价格为 v[j],重要度为 w[j],共选中了 k 件物品,编号依次为 j1​,j2​,…,jk​,则所求的总和为:

v[j1​]×w[j1​]+v[j2​]×w[j2​]+…+v[jk​]×w[jk​]。

请你帮助金明设计一个满足要求的购物单。

输入格式

第一行,为 2 个正整数,用一个空格隔开:n,m(其中 N(<30000) 表示总钱数,m(<25) 为希望购买物品的个数。)

从第 2 行到第 m+1 行,第 j 行给出了编号为 j−1 的物品的基本数据,每行有 2 个非负整数 v p(其中 v 表示该物品的价格(v≤10000)p 表示该物品的重要度(1−5)

输出格式

1 个正整数,为不超过总钱数的物品的价格与重要度乘积的总和的最大值(<100000000)

输入输出样例
输入 1
 
  1. 1000 5
  2. 800 2
  3. 400 5
  4. 300 5
  5. 400 3
  6. 200 2
输出 1
 
  1. 3900

输入 1000,表示总钱数,5 为希望购买物品的个数,随后 5 行,先给出物品的价格为 800,再列出重要度为 2

计算方式为:

  1. 先求得总收获,为重要度\*价格,即 800 \* 2 = 1600,400 \*5=20000,300 \* 5=1500,400 \* 3=1200,200 \* 2=400。
  2. 根据 01 背包进行计算,f[j]=max(f[j],f[j−v[i]]+w[i]),v[i] 为价值,w[i] 为总收获。代入计算求得最大价值。
  3. 最后输出 f[m],背包大小为 时最大值
【来源】

NOIP 2006 普及组 第二题

#include<bits/stdc++.h>
using namespace std;const int N=30000+10;
int f[N];int main()
{int n,m;scanf("%d%d",&m,&n);for(int i=0;i<n;i++){int v,w;scanf("%d%d",&v,&w);for(int j=m;j>=v;j--){f[j]=max(f[j],f[j-v]+v*w);}}printf("%d\n",f[m]);return 0;
}

 是一个01背包问题

不能超过的钱数相当于背包容量

每一件物品的价格相当于物品的体积

价格乘以重要度相当于物品的价值价值

经过上述等价变形,就完全转换为了01背包问题,注意第二层循环从最大容量开始减小

01背包的方程如下

f[j]=max(f[j],f[j-v[i]]+w[i]);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/148899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二十三种设计模式:解密职责链模式-购物优惠活动的设计艺术

在购物领域&#xff0c;为了吸引和激励消费者&#xff0c;商家常常会推出各种优惠活动&#xff0c;比如满减、打折、赠品等。然而&#xff0c;这些优惠活动的处理逻辑通常较为复杂&#xff0c;需要根据购物订单的条件进行判断和处理。本文将深入探讨职责链模式的实现方式&#…

记一次线上bug排查-----SpringCloud Gateway组件 请求头accept-encoding导致响应结果乱码

基于公司的业务需求&#xff0c;在SpringCloud Gateway组件的基础上&#xff0c;写了一个转发服务&#xff0c;测试开发阶段运行正常&#xff0c;并实现初步使用。但三个月后&#xff0c;PostMan请求接口&#xff0c;返回异常&#xff0c;经排查&#xff0c;从日志中获取到转发…

开启数据库审计 db,extended级别或os级别)并将审计文件存放到/opt/oracle/audit/下

文章目录 1、登录到数据库2、查看审计状态3、创建审计目录4、启用审计5、设置审计文件路径6、再次查看结果 1、登录到数据库 使用SQL*Plus或者其他Oracle数据库客户端登录到数据库。 sqlplus / as sysdba;2、查看审计状态 show parameter audit;目前是DB状态&#xff0c;并且…

ubuntu20.0安装 java并配置环境

步骤1&#xff1a;下载jdk 我是从官网下载的JDK&#xff0c;可以自己去下载 这是我上传的JDK11的Linux安装包 https://download.csdn.net/download/djklsajdklsajdlk/88552004 步骤2&#xff1a;创建单独的目录 sudo mkdir /usr/local/java 步骤3&#xff1a;将下载的文件…

python-opencv五种自动 ,白平衡算法深度学习实现, 缺陷检测 github

python-opencv五种自动白平衡算法&#xff0c;附源码直接可用&#xff08;均值、完美反射、灰度世界、动态阈值、基于图像分析的偏色检测及颜色校正&#xff09; 7系统中&#xff0c;您也可以通过控制面板来打开摄像头。打开开始菜单&#xff0c;点击控制面板&#xff0c;选择…

【算法萌新闯力扣】:旋转字符串

力扣热题&#xff1a;796.旋转字符串 开篇 今天下午刷了6道力扣算法题&#xff0c;选了一道有多种解法的题目与大家分享。 题目链接:796.旋转字符串 题目描述 代码思路 完全按照题目的要求&#xff0c;利用StringBuffer中的方法对字符串进行旋转&#xff0c;寻找相同的一项 …

第 372 场 LeetCode 周赛题解

A 使三个字符串相等 求三个串的最长公共前缀 class Solution { public:int findMinimumOperations(string s1, string s2, string s3) {int n1 s1.size(), n2 s2.size(), n3 s3.size();int i 0;for (; i < min({n1, n2, n3}); i)if (!(s1[i] s2[i] && s2[i] s…

[工业自动化-23]:西门子S7-15xxx编程 - 软件编程 - 西门子PLC人机界面交互HMI功能概述、硬件环境准备、软件环境准备

目录 一、什么是人机界面 二、什么是PLC人机交互界面HMI 三、人机界面设计的功能列表 四、开发主机与PLC的连接方式 五、开发主机与HMI的连接方式 六、HMI组态 一、什么是人机界面 人机界面是指人与机器或系统之间的交互界面。它是人类与计算机或其他设备之间进行信息交换…

NSSCTF第13页(2)

[HNCTF 2022 Week1]Challenge__rce 提示?hint 访问看到了源码 <?php error_reporting(0); if (isset($_GET[hint])) { highlight_file(__FILE__); } if (isset($_POST[rce])) { $rce $_POST[rce]; if (strlen($rce) < 120) { if (is_string($rce…

Java Web——JavaScript基础

1. 引入方式 JavaScript程序不能独立运行&#xff0c;它需要被嵌入HTML中&#xff0c;然后浏览器才能执行 JavaScript 代码。 通过 script 标签将 JavaScript 代码引入到 HTML 中&#xff0c;有3种方式&#xff1a; 1.1. 内嵌式(嵌入式) 直接写在html文件里&#xff0c;用s…

系列六、GC垃圾回收【四大垃圾算法-标记清除算法】

一、概述 标记清除算法分为两个阶段&#xff0c;即&#xff1a;标记和清除两个阶段&#xff0c;先标记出要回收的对象&#xff0c;然后统一回收这些对象。形如&#xff1a; 老年代一般是由标记清除或者标记清除 标记压缩的混合实现。 二、原理 用通俗的话解释一下标记清除算法…

docker-给用户docker命令权限、无权限/var/run/docker.sock: connect: permission denied

使用普通用户执行docker命令无权限 [testpri00 ~]$ docker ps Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run…

vue3基于vite打包

大的js和css打包成&#xff1a;gzip npm install vite-plugin-compression 在vite.config.ts中配置&#xff1a; import viteCompression from vite-plugin-compressionplugins:[viteCompression({verbose:true,//控制台输出压缩结果disable:false,//开启还是禁用threshold:…

2023年中职“网络安全“—Web 渗透测试②

2023年中职“网络安全“—Web 渗透测试② Web 渗透测试任务环境说明&#xff1a;1.访问http://靶机IP/web1/,获取flag值&#xff0c;Flag格式为flag{xxx}&#xff1b;2.访问http://靶机IP/web2/,获取flag值&#xff0c;Flag格式为flag{xxx}&#xff1b;3.访问http://靶机IP/web…

【分布式】MIT 6.824 Lab 2B实现细节分析

基于6.824 2020版 http://nil.csail.mit.edu/6.824/2020/schedule.html Lab 2A&#xff08;选举&#xff09;一天就完成了&#xff0c;主要是第一次开始写Raft需要稍微熟悉一下&#xff0c;但是几乎不用修改&#xff0c;很容易就通过了。不过到了Lab 2B就会发现2A能够通过纯属侥…

SOME/IP 协议介绍(六)接口设计的兼容性规则

接口设计的兼容性规则&#xff08;信息性&#xff09; 对于所有序列化格式而言&#xff0c;向较新的服务接口的迁移有一定的限制。使用一组兼容性规则&#xff0c;SOME / IP允许服务接口的演进。可以以非破坏性的方式进行以下添加和增强&#xff1a; • 向服务中添加新方法 …

莹莹API管理系统源码附带两套模板

这是一个API后台管理系统的源码&#xff0c;可以自定义添加接口&#xff0c;并自带两个模板。 环境要求 PHP版本要求高于5.6且低于8.0&#xff0c;已测试通过的版本为7.4。 需要安装PHPSG11加密扩展。 已测试&#xff1a;宝塔/主机亲测成功搭建&#xff01; 安装说明 &am…

新生儿奶藓:原因、科普和注意事项

引言&#xff1a; 新生儿奶藓是一种常见的婴儿皮肤问题&#xff0c;通常在生后的头几个月内出现。尽管奶藓对婴儿的健康没有太大影响&#xff0c;但了解其原因、科普相关信息以及采取适当的注意事项是帮助父母更好地照顾婴儿皮肤的关键。本文将深入探讨新生儿奶藓的原因、相关…

PPT基础入门

目录 相关设置快捷键shift 快捷键Ctrl 快捷键Ctrl Shift 组合快捷键快捷键总结 相关设置 设置撤回次数 自动保存 图片压缩 字体嵌入&#xff1a;目的是在不同的电脑上保留已经设置好的字体 多格式导出 &#xff08;1&#xff09;可以导出PDF &#xff08;2&#xff09;可以导…

DevExpress中文教程 - 如何在macOS和Linux (CTP)上创建、修改报表(上)

DevExpress Reporting是.NET Framework下功能完善的报表平台&#xff0c;它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集&#xff0c;包括数据透视表、图表&#xff0c;因此您可以构建无与伦比、信息清晰的报表。 DevExpress Reports — 跨平台报表组件&#x…