zoukankan      html  css  js  c++  java
  • P1567 气温统计

    P1567

    题目描述

      炎热的夏日,KC 非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。

      经历千辛万苦,他收集了连续 N(1N10^6) 的最高气温数据。

      现在,他想知道最高气温一直上升的最长连续天数。

    输入输出格式

    输入格式: 

      第 1 行:一个整数 N。1N10^6

      第 2 行:N个空格隔开的整数,表示连续 NN天的最高气温。0 ≤ 最高气温 ≤ 10^9 。

    输出格式:

      一个整数,表示最高气温一直上升的最长连续天数。

    输入输出样例

    输入:

    10
    1 2 3 2 4 5 6 8 5 9

    输出:

    5

    解法:

     1 #include <bits/stdc++.h>
     2 using namespace std;    
     3 int n,a[1000000]; 
     4 int main(){
     5     int m=1,mm=1;
     6     cin>>n;
     7     for(int i=0;i<n;i++)cin>>a[i];
     8     for(int i=1;i<n;i++){
     9         if(a[i]>a[i-1])mm++;
    10         else if(mm>m){
    11             m=mm;
    12             mm=1;
    13         }else mm=1;
    14     }
    15     if(mm>m)m=mm;
    16     cout<<m<<endl;
    17     
    18     return 0;
    19 }

    或者:

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 int main(){
     4     int n,tem1=0,tem2=0,a=0,b=0;//分别是N,温度1,温度2,以及统计天数用的两个参量 
     5     cin>>n;
     6     for(int k=0;k<n;k++){
     7         cin>>tem2;
     8         if(tem2>tem1)
     9             a+=1;//若第二天(tem2)的温度大于前一天的温度(tem1),则天数加一 
    10         else{
    11             b=(a>b)?a:b;//否则,令b等于a,b中较大值 
    12             a=0;//并把a清空 
    13         }
    14         tem1=tem2;//对于第三天来说,第三天的温度是tem2,第二天的温度是tem1 
    15     }
    16     cout<<b+1;//本代码天数统计的起点是0,但题目是1,也可在初始赋值是将a=0改为a=1 
    17     return 0;
    18 }
  • 相关阅读:
    linux中实现将多个连续的字符拆分为单个字符
    linux 中删除当前目录下指定文件外所有的文件
    linux中将指定行数据合并为一行数据
    gz文件压缩、解压缩保留源文件
    R语言中提取多个连续值的累计的中间位点
    .net的委托和事件的直接理解
    消息是什么
    显示进度条的无组件上传!!
    与Java相关的四十个名字
    循环为Label赋值!
  • 原文地址:https://www.cnblogs.com/cruelty_angel/p/10373927.html
Copyright © 2011-2022 走看看