信息学奥赛一本通 1076:正常血压 | OpenJudge NOI 1.5 24:正常血压
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 1076:正常血压 | OpenJudge NOI 1.5 24:正常血压
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目鏈接】
ybt 1076:正常血壓
OpenJudge NOI 1.5 24:正常血壓
【題目考點】
1. 循環統計連續處于某種狀態的次數
例:
- 輸入一個由英文數字組成的字符串,求其中最多連續出現幾個數字。
- 輸入一個二進制數,求其中最多連續出現幾個1。
- ybt 1116:最長平臺 | OpenJudge NOI 1.9 12:最長平臺
這類問題一般做法:
- 設置統計變量c,初值為0(根據具體情況,也許需要初值為1),設置cMx表示統計變量c可能達到的最大值
- 循環遍歷各個狀態
- 如果遇到目標狀態,統計變量c增加1。判斷c是否比cMx大,如果是,把c賦值給cMx。
- 如果遇到非目標狀態,統計變量c還原為0。
【解題思路】
- 設置變量c表示血壓連續正常的次數,設cm表示血壓連續正常的最大次數
- 循環輸入高壓低壓,判斷這一組高壓低壓是否正常,如果是,c增加1,判斷c是否比cm大,如果是,把c賦值給cm。否則,c還原為0。
- 最后輸出cm的值
【題解代碼】
解法1:
#include<bits/stdc++.h> using namespace std; int main() {int n, h, l, c = 0, cm = 0;//h:收縮壓,l:舒張壓 c:血壓連續正常的次數 cm:血壓連續正常的最大次數cin >> n;for(int i = 0; i < n; ++i){cin >> h >> l;if(h >= 90 && h <= 140 && l >= 60 && l <= 90)//判斷這一組高低壓是否正常{c++;//如果滿足條件,則正常血壓次數計數if(c > cm)cm = c;}else//如果不滿足條件,則正常血壓次數置為0c = 0;}cout << cm;return 0; }總結
以上是生活随笔為你收集整理的信息学奥赛一本通 1076:正常血压 | OpenJudge NOI 1.5 24:正常血压的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(1087:级数求和)
- 下一篇: 信息学奥赛一本通 1124:矩阵加法 |