zoukankan      html  css  js  c++  java
  • zoj 1338 Up and Down Sequences(模拟)

    读完题就知道是一道模拟题,但遗憾的是我的模拟题做得并不好,可能是自己的代码能力还不够好吧~~放了一段时间,今天中下决心做了。

    刚开始觉得用while一直搜到一个上升或下降序列的最后,但对于像4 4 4 4 这样的序列就不好判断属于上升还是下降序列了,后来看了一下解题报告,明白了~

    其实不用管一个上升或下降序列到底用多长,只判断这个数与他前面的数构成上升还是下降就可以了,中间加些判断的标量~

    代码:

     1 #include<stdio.h>
    2 #include<stdlib.h>
    3 #include<string.h>
    4 #include<iostream>
    5 using namespace std;
    6 int main()
    7 {
    8 int a[102],x,i,j,u,d,t,fu,fd,nu,nd;
    9 while(scanf("%d",&x),x)
    10 {
    11 a[0]=x;
    12 j=1;
    13 while(scanf("%d",&x),x)
    14 a[j++]=x;
    15 u=d=nu=nd=t=0;
    16 fu=fd=0;
    17 for(i=0;i<j-1;i++)
    18 {
    19 if(a[i]==a[i+1])
    20 {
    21 if(!fu&&!fd)
    22 t++;
    23 if(fu)
    24 u++;
    25 if(fd)
    26 d++;
    27 }
    28 if(a[i]<a[i+1])
    29 {
    30 fd=0;
    31 if(!fu)
    32 {
    33 fu=1;
    34 nu++;
    35 }
    36 u++;
    37 u+=t;
    38 t=0;
    39 }
    40 if(a[i]>a[i+1])
    41 {
    42 fu=0;
    43 if(!fd)
    44 {
    45 fd=1;
    46 nd++;
    47 }
    48 d++;
    49 d+=t;
    50 t=0;
    51 }
    52 }
    53 double m,n;
    54 if(nu==0)
    55 n=0.0;
    56 else
    57 n=(double)u/nu;
    58 if(nd==0)
    59 m=0.0;
    60 else
    61 m=(double)d/nd;
    62 printf("Nr values = %d: %.6lf %.6lf\n",j,n,m);
    63 }
    64 return 0;
    65 }
  • 相关阅读:
    HttpURLconnection的介绍
    HttpClient4.3教程 第三章 Http状态管理
    HttpClient4.3教程 第二章 连接管理
    HttpClient 4.3教程 第一章 基本概念
    HttpClient 4.3教程-前言
    数据结构
    数据结构
    HashMap底层源码剖析
    防止XSS 攻击集成springboot
    C——Network Saboteur (POJ2531)
  • 原文地址:https://www.cnblogs.com/misty1/p/2280927.html
Copyright © 2011-2022 走看看