1 solutions

  • 0
    @ 2024-12-11 0:49:57

    C :

    #include<stdio.h>
    int N,x,y,Sum=1,k;
    int main(){
    	scanf("%d%d",&N,&x);
    	for(int i=2;i<=N;i++){
    		scanf("%d",&y);
    		if(y>x){//升序k=1
    			if(k==2||k==0){
    				k=1;
    				Sum++;
    				x=y;
    			}
    			if(k==1)x=y;//取大
    		}
    		if(y<x){//降序k=2
    			if(k==1||k==0){
    				k=2;
    				Sum++;
    				x=y;
    			}
    			if(k==2)x=y;//取小
    		}
    	}
    	printf("%d",Sum);
    }
    

    C++ :

    #include <cstdio>
    #include <algorithm>
    #include <cstring>
    using namespace std;
    
    int N=0;
    int nDate_A[1000001]={0},nDate_B[1000001]={0};
    int nFlower[1000001]={0};
    int nLen_A=1,nLen_B=1,maxx=0;
    
    int main(){
    	scanf("%d",&N);
    	for(int i=1;i<=N;++i){
    		scanf("%d",&nFlower[i]);
    	}
    	nDate_A[nLen_A]=nFlower[1];
    	nDate_B[nLen_B]=nFlower[1];
    	for(int i=2;i<=N;++i){//第A种
    		if(nLen_A%2==1){
    			if(nFlower[i]>nDate_A[nLen_A]) nDate_A[++nLen_A]=nFlower[i];
    			else nDate_A[nLen_A]=nFlower[i];
    		}
    		else{
    			if(nFlower[i]<nDate_A[nLen_A]) nDate_A[++nLen_A]=nFlower[i];
    			else nDate_A[nLen_A]=nFlower[i];
    		}
    		
    		if(nLen_B%2==1){
    			if(nFlower[i]<nDate_B[nLen_B]) nDate_B[++nLen_B]=nFlower[i];
    			else nDate_B[nLen_B]=nFlower[i];
    		}
    		else{
    			if(nFlower[i]>nDate_B[nLen_B]) nDate_B[++nLen_B]=nFlower[i];
    			else nDate_B[nLen_B]=nFlower[i];
    		}
    	}
    	printf("%d",max(nLen_B,nLen_A));
    	fclose(stdin);
    	fclose(stdout);
    	return 0;
    }
    
    

    Pascal :

    var
     n,i,j,k:longint;
     a,b:array[1..100000] of longint;
    
    begin
     k:=0;
     read(n);
     for i:=1 to n do read(a[i]);
     b[1]:=a[1];
     j:=1;
     for i:=2 to n do
      if a[i]<>b[j] then
       begin
        b[j+1]:=a[i];
        j:=j+1;
       end;
     for i:=2 to j-1 do
     if ((b[i]>b[i-1]) and (b[i]>b[i+1])) or ((b[i]<b[i-1]) and (b[i]<b[i+1])) then
      k:=k+1;
     write(k+2);
    end.
    
    • 1

    Information

    ID
    769
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By