信奧賽CSP-J復賽集訓(模擬算法專題)(3):P1089 [NOIP 2004 提高組] 津津的儲蓄計劃

信奧賽CSP-J復賽集訓(模擬算法專題)(3):P1089 [NOIP 2004 提高組] 津津的儲蓄計劃

在這里插入圖片描述

題目描述

津津的零花錢一直都是自己管理。每個月的月初媽媽給津津 300 300 300 元錢,津津會預算這個月的花銷,并且總能做到實際花銷和預算的相同。

為了讓津津學習如何儲蓄,媽媽提出,津津可以隨時把整百的錢存在她那里,到了年末她會加上 20 % 20\% 20% 還給津津。因此津津制定了一個儲蓄計劃:每個月的月初,在得到媽媽給的零花錢后,如果她預計到這個月的月末手中還會有多于 100 100 100 元或恰好 100 100 100 元,她就會把整百的錢存在媽媽那里,剩余的錢留在自己手中。

例如 11 11 11月初津津手中還有 83 83 83 元,媽媽給了津津 300 300 300 元。津津預計 11 11 11月的花銷是 180 180 180 元,那么她就會在媽媽那里存 200 200 200 元,自己留下 183 183 183 元。到了 11 11 11 月月末,津津手中會剩下 3 3 3 元錢。

津津發現這個儲蓄計劃的主要風險是,存在媽媽那里的錢在年末之前不能取出。有可能在某個月的月初,津津手中的錢加上這個月媽媽給的錢,不夠這個月的原定預算。如果出現這種情況,津津將不得不在這個月省吃儉用,壓縮預算。

現在請你根據 2004 2004 2004 1 1 1 月到 12 12 12 月每個月津津的預算,判斷會不會出現這種情況。如果不會,計算到 2004 2004 2004 年年末,媽媽將津津平常存的錢加上 20 % 20\% 20% 還給津津之后,津津手中會有多少錢。

輸入格式

12 12 12 行數據,每行包含一個小于 350 350 350 的非負整數,分別表示 1 1 1 月到 12 12 12 月津津的預算。

輸出格式

一個整數。如果儲蓄計劃實施過程中出現某個月錢不夠用的情況,輸出 ? X -X ?X X X X 表示出現這種情況的第一個月;否則輸出到 2004 2004 2004 年年末津津手中會有多少錢。

注意,洛谷不需要進行文件輸入輸出,而是標準輸入輸出。

輸入輸出樣例 #1

輸入 #1

290
230
280
200
300
170
340
50 
90 
80 
200
60

輸出 #1

-7

輸入輸出樣例 #2

輸入 #2

290 
230 
280 
200 
300 
170 
330 
50 
90 
80 
200 
60

輸出 #2

1580

AC代碼:

#include<bits/stdc++.h>
using namespace std;int x;     // 每個月的開銷
int y;     // 上個月剩余的錢(未存入媽媽賬戶的零錢)
int ans;   // 累計存入媽媽那里的錢(整百存儲)int main() {for (int i = 1; i <= 12; i++) { // 處理12個月的數據cin >> x; // 輸入當前月的開銷// 檢查上個月剩余的錢(y) + 本月300元是否不足以支付本月開銷if (y + 300 < x) {cout << "-" << i; // 不足則輸出當前月份并結束程序return 0;}// 計算當前月能存多少整百的錢// (y + 300 - x)是總剩余,整除100得到整百的數量int q1 = (y + 300 - x) / 100;if (q1 > 0) {        // 如果存在可存的整百金額ans += q1 * 100; // 將整百的錢存入媽媽那里}// 更新本月剩余的錢:總剩余(y+300-x)減去存的錢(q1*100)// 等價于取模100,保留零錢部分y = (y + 300 - x) % 100;}// 輸出最終結果:剩余零錢(y) + 存款與利息(ans * 1.2)// 注意:ans是整百總和,利息為20%,所以總金額為 ans*1.2 + ycout << y + ans * 1.2;return 0;
}

代碼功能分析:

  1. 變量說明

    • x:記錄每個月的開銷。
    • y:存儲上個月剩余的零錢(未存入媽媽賬戶的部分)。
    • ans:累計存入媽媽賬戶的整百金額總和。
  2. 循環處理每月數據

    • 遍歷12個月,逐月輸入開銷x
    • 資金不足判斷:若上個月剩余的錢y加上本月300元不足以支付本月開銷,直接輸出負的當前月份并終止程序。
  3. 存款計算

    • 計算本月總剩余資金(y + 300 - x)
    • 將總剩余資金中整百的部分存入媽媽賬戶(q1 * 100),并更新累計存款ans
    • 剩余零錢更新為總剩余資金對100取模的結果,即y = (y + 300 - x) % 100
  4. 年終結算

    • 輸出最終總金額,包括媽媽賬戶中的本金與20%利息(ans * 1.2)以及手中剩余的零錢y

關鍵邏輯驗證:

  • 資金不足判定:正確判斷當月是否會出現赤字,確保及時輸出錯誤月份。
  • 整百存款計算:通過整除和取模操作精確處理存款與零錢,避免誤差。
  • 利息計算:整百存款的20%利息通過ans * 1.2正確實現,與剩余零錢相加得到最終結果。

文末彩蛋:

關注并查看老師的個人主頁,學習完整csp信奧賽完整系列課程: https://edu.csdn.net/lecturer/7901

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72788.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72788.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72788.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

日新F1、瑞研F600P 干線光纖熔接(熔接損耗最大0.03DB)

Ⅰ. 設備特性對比與實測驗證 1. 日新F1&#xff08;兩馬達&#xff09;極限參數 切割角度&#xff1a;必須≤0.3&#xff08;雙邊累計誤差&#xff1c;0.6&#xff09; ? 實測案例&#xff1a;切割0.35時&#xff0c;損耗波動達0.05-0.08dB&#xff08;超干線標準&#xff09…

【量化科普】Sharpe Ratio,夏普比率

【量化科普】Sharpe Ratio&#xff0c;夏普比率 &#x1f680;量化軟件開通 &#x1f680;量化實戰教程 在量化投資領域&#xff0c;夏普比率&#xff08;Sharpe Ratio&#xff09;是一個非常重要的風險調整后收益指標。它由諾貝爾經濟學獎得主威廉F夏普&#xff08;William…

數據結構--【順序表與鏈表】筆記

順序表 template <class T> class arrList :public List<T> //表示 arrList 類以公有繼承的方式繼承自 List<T> 類 //公有繼承意味著 List<T> 類的公共成員在 arrList 類中仍然是公共成員&#xff0c;受保護成員在 arrList 類中仍然是受保護成員。 { …

idea中隱藏目錄

可能的解決步驟&#xff1a; 排除目錄的方法是否在2021版本中有變化&#xff1f;應該沒有&#xff0c;還是通過右鍵標記為排除。 用戶可能想完全隱藏目錄&#xff0c;比如在項目視圖中不顯示&#xff0c;這可能需要調整項目視圖的設置&#xff0c;比如取消勾選“顯示排除的文件…

AWS 如何導入內部SSL 證書

SSL 證書的很重要的功能就是 HTTP- > HTTPS, 下面就說明一下怎么導入ssl 證書,然后綁定證書到ALB. 以下示例說明如何使用 AWS Management Console 導入證書。 從以下位置打開 ACM 控制臺:https://console.aws.amazon.com/acm/home。如果您是首次使用 ACM,請查找 AWS Cer…

2025最新群智能優化算法:基于RRT的優化器(RRT-based Optimizer,RRTO)求解23個經典函數測試集,MATLAB

一、基于RRT的優化器 基于RRT的優化器&#xff08;RRT-based Optimizer&#xff0c;RRTO&#xff09;是2025年提出的一種新型元啟發式算法。其受常用于機器人路徑規劃的快速探索隨機樹&#xff08;RRT&#xff09;算法的搜索機制啟發&#xff0c;首次將RRT算法的概念與元啟發式…

doris: Oracle

Apache Doris JDBC Catalog 支持通過標準 JDBC 接口連接 Oracle 數據庫。本文檔介紹如何配置 Oracle 數據庫連接。 使用須知? 要連接到 Oracle 數據庫&#xff0c;您需要 Oracle 19c, 18c, 12c, 11g 或 10g。 Oracle 數據庫的 JDBC 驅動程序&#xff0c;您可以從 Maven 倉庫…

im即時聊天客服系統SaaS還是私有化部署:成本、安全與定制化的權衡策略

隨著即時通訊技術的不斷發展&#xff0c;IM即時聊天客服系統已經成為企業與客戶溝通、解決問題、提升用戶體驗的重要工具。在選擇IM即時聊天客服系統時&#xff0c;企業面臨一個重要決策&#xff1a;選擇SaaS&#xff08;軟件即服務&#xff09;解決方案&#xff0c;還是進行私…

mysql中in和exists的區別?

大家好&#xff0c;我是鋒哥。今天分享關于【mysql中in和exists的區別?】面試題。希望對大家有幫助&#xff1b; mysql中in和exists的區別? 1000道 互聯網大廠Java工程師 精選面試題-Java資源分享網 在 MySQL 中&#xff0c;IN 和 EXISTS 都用于進行子查詢&#xff0c;但它…

element-plus中table組件的使用

1、table組件的基本使用 注意&#xff1a; ①對象集合&#xff0c;要從后端查詢。 ②prop是集合中的對象的屬性名&#xff1b;label是表格表頭的名稱。 2、將性別一列的71轉為男&#xff0c;72轉為女 問題描述&#xff1a; 解決步驟&#xff1a; ①將el-table-column變成雙標簽…

Django小白級開發入門

1、Django概述 Django是一個開放源代碼的Web應用框架&#xff0c;由Python寫成。采用了MTV的框架模式&#xff0c;即模型M&#xff0c;視圖V和模版T。 Django 框架的核心組件有&#xff1a; 用于創建模型的對象關系映射為最終用戶設計較好的管理界面URL 設計設計者友好的模板…

使用 display: flex 實現動態布局:每行兩個 item,單數時最后一個占滿整行

文章目錄 使用 display: flex 實現動態布局&#xff1a;每行兩個 item&#xff0c;單數時最后一個占滿整行 &#x1f3af;一、需求分析二、實現思路三、代碼實現1. HTML 結構2. CSS 樣式關鍵點解析&#xff1a; 四、效果演示HTML 示例&#xff1a;效果&#xff1a; 五、完整代碼…

preloaded-classes裁剪

系統預加載了哪些class類&#xff1f;system/etc/preloaded-classes 修改源代碼&#xff1f; frameworks\base\config\preloaded-classes 默認位置&#xff0c;如果改了不生效&#xff0c;可能有其它模塊的mk文件指定了preloaded-classes覆蓋了framework模塊&#xff0c;例如…

華為配置篇-OSPF基礎實驗

OSPF 一、簡述二、常用命令總結三、實驗3.1 OSPF單區域3.2 OSPF多區域3.3 OSPF 的鄰接關系和 LSA 置底 一、簡述 OSPF&#xff08;開放式最短路徑優先協議&#xff09; 基本定義 全稱&#xff1a;Open Shortest Path First 類型&#xff1a;鏈路狀態路由協議&#xff08;IGP&…

Orale數據文件加錯位置,你直接rm引發的故障

數據庫可能面臨硬件故障、人為錯誤、惡意攻擊、自然災害等多種潛在風險&#xff0c;那么今天這個故障就是由于業務人員加錯數據文件的位置&#xff0c;然后直接從物理層面rm -f了&#xff0c;導致了生產的故障&#xff01; 以下是針對Oracle數據庫物理刪除數據文件后的快速修復…

ChromeDriver下載 最新版本 134.0.6998.35

平時為了下個驅動&#xff0c;到處找挺麻煩&#xff0c;收集了很多無償分享給需要的人&#xff0c;僅供學習和交流。 ChromeDriver及瀏覽器134.0.6998.35 ChromeDriver及瀏覽器133.0.6943.141 ChromeDriver 102.0.5005.61 ChromeDriver 105.0.5195.102 ChromeDriver 108.0…

QEMU源碼全解析 —— 塊設備虛擬化(2)

接前一篇文章:QEMU源碼全解析 —— 塊設備虛擬化(1) 本文內容參考: 《趣談Linux操作系統》 —— 劉超,極客時間 《QEMU/KVM源碼解析與應用》 —— 李強,機械工業出版社 特此致謝! 上一回講解了幾種虛擬化方式(全虛擬化、半虛擬化和硬件輔助虛擬化)的優缺點及其對比…

Redis——緩存穿透、擊穿、雪崩

緩存穿透 什么是緩存穿透 緩存穿透說簡單點就是大量請求的 key 根本不存在于緩存中&#xff0c;導致請求直接到了數據庫上&#xff0c;根本沒有經過緩存這一層。舉個例子&#xff1a;某個黑客故意制造我們緩存中不存在的 key 發起大量請求&#xff0c;導致大量請求落到數據庫…

DELETE/ UPDATE/ INSERT 語句會自動加鎖

在數據庫系統中&#xff0c;DELETE、UPDATE 和 INSERT 語句通常會自動加鎖&#xff0c;以確保數據的一致性和并發控制。具體的鎖類型和效果取決于數據庫的實現&#xff08;如 MySQL、PostgreSQL 等&#xff09;以及事務的隔離級別。以下是這些操作通常加鎖的行為和效果&#xf…

【從零開始學習計算機科學】硬件設計與FPGA原理

硬件設計 硬件設計流程 在設計硬件電路之前,首先要把大的框架和架構要搞清楚,這要求我們搞清楚要實現什么功能,然后找找有否能實現同樣或相似功能的參考電路板(要懂得盡量利用他人的成果,越是有經驗的工程師越會懂得借鑒他人的成果)。如果你找到了的參考設計,最好還是…