洛谷刷题(4)

P1089 [NOIP2004 提高组] 津津的储蓄计划

题目描述

津津的零花钱一直都是自己管理。每个月的月初妈妈给津津 300 元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。

为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上 20% 还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于 100元或恰好 100 元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。

例如 11月初津津手中还有 83 元,妈妈给了津津 300 元。津津预计11月的花销是 180 元,那么她就会在妈妈那里存 200 元,自己留下 183 元。到了 11 月月末,津津手中会剩下 3 元钱。

津津发现这个储蓄计划的主要风险是,存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。如果出现这种情况,津津将不得不在这个月省吃俭用,压缩预算。

现在请你根据 2004 年 1 月到 12 月每个月津津的预算,判断会不会出现这种情况。如果不会,计算到 2004 年年末,妈妈将津津平常存的钱加上 20% 还给津津之后,津津手中会有多少钱。

输入格式

12 行数据,每行包含一个小于 350 的非负整数,分别表示 11 月到 12 月津津的预算。

输出格式

一个整数。如果储蓄计划实施过程中出现某个月钱不够用的情况,输出 −X,X 表示出现这种情况的第一个月;否则输出到 2004 年年末津津手中会有多少钱。

注意,洛谷不需要进行文件输入输出,而是标准输入输出。

 代码

#include<stdio.h>
int main() {int a[20], ans = 0, b = 0;for (int i = 1; i <= 12; i++) {scanf("%d", &a[i]);}for (int i = 1; i <= 12; i++) {b += 300 - a[i];if (b >= 100) {ans += b / 100;b = b % 100;}if (b < 0) {printf("-%d\n", i);return 0;}}printf("%d", 120 * ans+b);return 0;
}

 P1014 [NOIP1999 普及组] Cantor 表

题目描述

现代数学的著名证明之一是 Georg Cantor 证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:

我们以 Z 字形给上表的每一项编号。第一项是 1/1,然后是 1/2,2/1,3/1,2/2,…

输入格式

整数N(1≤N≤107)。

输出格式

表中的第 N 项。

得到规律

代码

#include<stdio.h>
int main() {int n = 0;scanf("%d", &n);//第几个int a=0, b=n;while (b > 0) {b = n;a++;b = b - (a + 1) * a / 2;//求区间	<-b减去的是一个等差数列求和公式,主要是为了求出n位于哪一个区间}if (a % 2 == 0) {printf("%d/%d\n", a + b, 1 - b);}else {printf("%d/%d\n", 1 - b, a + b);}return 0;
}

P5015 [NOIP2018 普及组] 标题统计

题目背景

NOIP2018 普及组 T1

题目描述

凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符? 注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字符数时,空格和换行符不计算在内。

输入格式

输入文件只有一行,一个字符串 s。

输出格式

输出文件只有一行,包含一个整数,即作文标题的字符数(不含空格和换行符)。

代码

#include<stdio.h>
#include<string.h>int main() {char a[200000];//scanf("%s", a);fgets(a, sizeof(a), stdin); int count = 0;int len = strlen(a);for (int i = 0; i < len-1; i++) {if (a[i] == ' ')continue;count++;}printf("%d", count);return 0;
}

P8830 [传智杯 #3 练习赛] 评委打分

题目描述

小 A 参加一个综艺节目。一共有 n(3≤n≤106) 名评委参与打分(分数范围是 0 到 100 的整数),每个评委依次亮出自己的得分。

为了节目效果,要求从第三个评委开始,每当第 ii 个评委给出打分后,立刻计算出出这个选手在前 ii 名评委的打分中,去掉一个最高分和一个最低分,剩下 i−2个评委的平均分,保留 2 位小数。

输入格式

第一行输入一个整数 n,表示评委人数。

第二行输出 n 个整数,表示各个评委的打分。

输出格式

输出共 n−2行,每行表示对应的答案。

代码

#include<stdio.h>
#include<iostream>
using namespace std;
int n, a[1020000];
double ans;
int maxx, minn;
int main() {scanf("%d", &n);for (int i = 1; i <= n; i++) {scanf("%d", &a[i]);}maxx = a[1], minn = a[1];for (int i = 1; i <= n; i++) {ans += 1.0*a[i];maxx = max(a[i], maxx);minn = min(a[i], minn);if (i >= 3)printf("%.2lf\n", (ans - maxx - minn) / (i - 2));}return 0;
}

P9240 [蓝桥杯 2023 省 B] 冶炼金属

题目描述

小蓝有一个神奇的炉子用于将普通金属 O 冶炼成为一种特殊金属 X。这个炉子有一个称作转换率的属性 V,V 是一个正整数,这意味着消耗 V 个普通金属 O 恰好可以冶炼出一个特殊金属 X,当普通金属 O 的数目不足 V 时,无法继续冶炼。

现在给出了 N 条冶炼记录,每条记录中包含两个整数 A 和 B,这表示本次投入了 A 个普通金属 O,最终冶炼出了 B 个特殊金属 X。每条记录都是独立的,这意味着上一次没消耗完的普通金属 O 不会累加到下一次的冶炼当中。

根据这 N 条冶炼记录,请你推测出转换率 V 的最小值和最大值分别可能是多少,题目保证评测数据不存在无解的情况。

输入格式

第一行一个整数 N,表示冶炼记录的数目。

接下来输入 N 行,每行两个整数 A,B,含义如题目所述。

输出格式

输出两个整数,分别表示 V 可能的最小值和最大值,中间用空格分开。

代码

#include<stdio.h>
long long int maxx=999999999, minn=-1,a,b;
int n;
int max(int x, int y) {return x > y ? x : y;
}
int min(int x, int y) {return x < y ? x : y;
}
int main() {scanf("%d", &n);for (int i = 1; i <= n; i++){scanf("%d%d", &a, &b);minn = max(minn, int(double(a * 1.0 / (b + 1))) + 1);maxx = min(maxx, int(double(a * 1.0 / b)));}printf("%d %d", minn, maxx);return 0;
}

 P1012 [NOIP1998 提高组] 拼数

题目描述

设有 n 个正整数 a1…an​,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。

输入格式

第一行有一个整数,表示数字个数 n。

第二行有 n 个整数,表示给出的 n 个整数 ai​。

输出格式

一个正整数,表示最大的整数

代码

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
int n;
string a[30];
bool cmp(const string& a, const string& b) {return (a + b > b + a);
}
int main() {scanf("%d", &n);getchar();for (int i = 1; i <= n; i++) {cin >> a[i];}sort(a + 1, a + n + 1, cmp);for (int i = 1; i <= n; i++) {cout << a[i];}return 0;
}

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

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

相关文章

UE5打包iOS运行查看Crash日志

1、查看Crash 1、通过xCode打开设备 2、选择APP打开最近的日志 3、选择崩溃时间点对应的日志 4、选择对应的工程打开 5、就能看到对应的Crash日志 2、为了防止Crash写代码需要注意 1、UObject在Remov

sqlsugar 不映射字段,sqlsugar 忽略字段。sqlsugar 字段改名。

sqlsugar 不映射字段&#xff0c;sqlsugar 忽略字段。 利用特性SugarColumn&#xff0c;将IsIgnore设置为True即可&#xff01; [SugarColumn(IsIgnore true)]//sqlsugar 忽略字段 public decimal MaxTemp { get; set; } 这样Sqlsugar 增删改查数据库的时候自动跳过该字段&…

Nextjs(App Router) 开发记录

最近业余在开发一款智能助理产品&#xff0c;记录开发过程中的一些问题以备忘&#xff0c;也是帮其他人防坑。 主要技术栈 本项目采用了前沿的技术栈来构建一个高性能且可维护的应用。选择了 Nx 作为构建管理和单一代码库解决方案&#xff0c;通过模块化和插件系统来扩展和优…

论文学习—Efficient Multi-label Classification with Many Labels

论文学习&#xff1a;Efficient Multi-label Classification with Many Labels 摘要2. 多标签分类相关工作2.1 Label Transformation1. **降维&#xff08;Dimensionality Reduction&#xff09;**2. **回归模型&#xff08;Regression Model&#xff09;**3. **逆变换&#xf…

【Python机器学习】NLP词中的数学——词袋

我们已经收集了一些词/词条&#xff0c;对这些词进行计数&#xff0c;并将它们归并成词干或者词元&#xff0c;接下来就可以做更多的事情。分析词对一些简单的任务有用&#xff0c;例如得到词用法的一些统计信息&#xff0c;或者进行关键词检索。但如果我们想知道哪些词对于某篇…

oracle备份策略

一、RMAN热备份 1、查看是否开启归档 archive log list;归档未开启 归档开启方法 – 关闭数据库&#xff0c;重启至mount模式 shutdown immediate startup mount– 开启归档模式 alter database archivelog;– 打开数据库 alter database open;– 检查归档模式是否打开 a…

微信小程序for循环怎么用

微信for简单使用&#xff1a; <view> <ul> <li wx:for"{{xiaoke}}" wx:key"index"> <a href"{{item.path}}">{{item.name}}</a> </li> </ul> </view> 其中" xiaoke " 是数组名称&am…

利用深度学习技术来实现街景图像的语义分割(街景图像语义分割)

本项目致力于利用深度学习技术来实现街景图像的语义分割。通过精确地识别和分类图像中的每个像素&#xff0c;该技术能够自动划分出街道、人行道、车辆、行人等各种不同的物体类别。这在智能交通系统、自动驾驶、城市规划等领域有着广泛的应用前景。 技术实现 深度学习模型&am…

zsh: command not found: brew(M系列芯片)

利用官网的命令安装完brew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"查看版本&#xff0c;提示找不到命令 % brew -v zsh: command not found: brew解决方法&#xff0c;在终端中执行以下命令&#xff0c…

git仓库删除某个历史提交

目录 问题情况1情况2 问题 如果我们在开发过程中&#xff0c;存在一些验证性的提交或者失误性的提交&#xff0c;那么这些提交我们不想要了&#xff0c;怎么办&#xff1f; 情况1 如果是想要删除某个commitid之后的所有提交 那么git reset 可以满足你 git reset --hard 你要…

Keilv5 逻辑分析仪的使用

声明&#xff1a;基于视频【事件驱动型编程和 QP/C 框架】所做的笔记 Keilv5逻辑分析仪是Keil MDK集成开发环境&#xff08;IDE&#xff09;中的一个工具&#xff0c;用于帮助开发人员进行嵌入式系统的调试和分析。 它的作用主要有&#xff1a; 监测信号&#xff1a;Keilv5逻…

【Qt | 音视频学习路线(高薪路线 AI)】

Answer 学习Qt音视频开发的学习路线可以分为以下几个阶段: 1. 基础知识准备 C++编程基础:Qt主要使用C++,因此需要有扎实的C++编程基础。计算机图形学基础:了解基本的图形学概念,如图像处理、渲染等。音视频基础:了解音视频的基本概念,如编码、解码、格式等。2. 学习Qt…

QGIS制图流程

在之前我们推送了QGIS的软件安装、插件安装、数据导入等基础操作&#xff0c;今天我们介绍一下QGIS的制图功能。QGIS的制图与ArcGIS Pro存在一定的区别&#xff0c;但是思路上相似。我们教程内容主要是参考QGIS官方文档&#xff1a; https://docs.qgis.org/3.34/en/docs/user_…

JUC并发编程-volatile

目录 1. volatile的两大特性 可见性&#xff08;Visibility&#xff09; 有序性&#xff08;Ordering&#xff09; 2. 四大屏障 3. 读写屏障插入策略 happens-before与volatile变量规则&#xff1a; 注意事项 4. 原子性 5. 禁重排 6.使用场景 传统的单例模式实现如下…

Apache Doris 使用 CBO 和 RBO 结合的优化策略

Apache Doris 在查询优化方面通过结合 RBO 和 CBO,实现了对简单和复杂查询的高效优化。RBO 负责处理常量折叠、子查询改写和谓词下推等基础优化操作,而 CBO 则在 Join Reorder 等复杂场景中发挥作用。这种结合策略使得 Apache Doris 能够在面对各种查询场景时,既能保证优化过…

大数据技术之 Flume概述、安装(1)

目录 Flume 概述 Flume 定义 为什么选用 Flume Flume 基础架构 Agent Source Sink Channel Event Flume 安装 Flume 安装部署 安装地址 安装部署 Flume 概述 Flume 定义 Flume 是 Cloudera 提供的一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输的系统。Flume…

Clickhouse集群化(六)clickhosue-operator学习

1. Custom Resource元素 apiVersion: "clickhouse.altinity.com/v1" kind: "ClickHouseInstallation" metadata:name: "clickhouse-installation-test" 这是clickhouse operator自定义的资源ClickHouseInstallation 1.1. .spec.defaults spe…

Webbench1.5安装使用Ubuntu

1、安装依赖包 sudo apt-get update sudo apt-get install libtirpc-dev2、安装Webbench1.5 参考https://github.com/baiguo/webbench-1.5 # 可能需要root权限&#xff0c;我是切换到root用户才安装成功 wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.…

安卓系统 XBL阶段详解

在安卓系统的启动流程中&#xff0c;XBL&#xff08;eXtensible Boot Loader 或 Secondary Bootloader&#xff09;是一个关键阶段&#xff0c;特别是在使用QualComm&#xff08;高通&#xff09;等SOC&#xff08;System on Chip&#xff09;的设备上。以下是对XBL阶段的详细解…

小程序全局本地存储和读取数据

globalData&#xff1a;全局存储信息 定义全局数据&#xff08;在 app.js 中&#xff09;&#xff1a; 在 app.js 中&#xff0c;你可以通过 globalData 属性定义全局数据 // app.js App({globalData: {userInfo: null,systemInfo: null,theme: light},onLaunch() {console.…