信息学奥赛一本通 1111:不高兴的津津 | 1926:【04NOIP普及组】不高兴的津津| OpenJudge NOI 1.9 03 | 洛谷 P1085 [NOIP2004 普及组] 不高兴的津津
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 1111:不高兴的津津 | 1926:【04NOIP普及组】不高兴的津津| OpenJudge NOI 1.9 03 | 洛谷 P1085 [NOIP2004 普及组] 不高兴的津津
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【題目鏈接】
ybt 1111:不高興的津津
ybt 1926:【04NOIP普及組】不高興的津津
OpenJudge NOI 1.9 03:不高興的津津
洛谷 P1085 [NOIP2004 普及組] 不高興的津津
【題目考點】
1. 求數(shù)組中最大值及其下標
- 設置臨時最大值變量mx,mx的初始值應該小于數(shù)組中的所有值。設臨時下標變量mi。
- 遍歷數(shù)組,如果數(shù)組元素a[i]比mx大,那么把a[i]賦值給mx,同時把i賦值給mi
- 循環(huán)結束后,mx就是數(shù)組中的最大值,mi就是最大值的下標。
- 設置表示最大值下標的變量mi,初始值為數(shù)組第一個元素的下標(從0開始存,mi就為0,若是從1開始存,mi就為1)
- 遍歷數(shù)組,如果數(shù)組元素a[i]比a[mi]大,那么把i賦值給mi
- 循環(huán)結束后,a[mi]就是數(shù)組中的最大值,mi就是最大值的下標
【解題思路】
先求出每天的上課總時間,存在一個數(shù)組中。一周7天,求7個上課總時間的最大值。若最大上課總時間大于8小時,津津不高興,輸出這一天的星期。若小于8小時,不至于不高興,輸出0。
【題解代碼】
解法1:保存最大值及下標
#include <bits/stdc++.h> using namespace std; int main() {int a[10], in, out, maxDay = 1, maxTime = 0;//a[i]:星期i上課總時間 in:校內(nèi)上課時間 out:校外上課時間 maxDay:上課時間最長的那天的星期。(最大值的下標)maxTime:最大上課時間 for(int i = 1; i <= 7; ++i){cin>>in>>out;a[i] = in + out;}for(int i = 1; i <= 7; ++i){if(a[i] > maxTime){maxTime = a[i]; maxDay = i;} }if(maxTime <= 8)//如果最大的上課時間不及8小時,不至于不高興 cout<<0;else//若這一天上課時間大于8小時,這一天就是最不高興的 cout<<maxDay;//輸出星期 return 0; }解法2:只保存最大值的下標
#include <bits/stdc++.h> using namespace std; int main() {int a[10], in, out, maxDay = 1;//a[i]:星期i上課總時間 in:校內(nèi)上課時間 out:校外上課時間 maxDay:上課時間最長的那天的星期。(最大值的下標) for(int i = 1; i <= 7; ++i){cin>>in>>out;a[i] = in + out;}for(int i = 1; i <= 7; ++i){if(a[i] > a[maxDay])maxDay = i;}if(a[maxDay] <= 8)//如果最大的上課時間不及8小時,不至于不高興 cout<<0;else//若這一天上課時間大于8小時,這一天就是最不高興的 cout<<maxDay;return 0; }總結
以上是生活随笔為你收集整理的信息学奥赛一本通 1111:不高兴的津津 | 1926:【04NOIP普及组】不高兴的津津| OpenJudge NOI 1.9 03 | 洛谷 P1085 [NOIP2004 普及组] 不高兴的津津的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(1116:最长平台)
- 下一篇: 信息学奥数一本通(1170:计算2的N次