3 条题解

  • 2
    @ 2024-9-9 21:18:41
    #include<bits/stdc++.h>
    using namespace std;
    int a[2001];
    int main(){
    	int n,sum=1,z1,z2;
    	cin>>n;
    	
    	for(int i=1;i<=n;i++){
    		cin>>a[i];
    	}
    	for(int i=2;i<=n-1;i++){
    		if(a[i]<a[i-1]) z1=z2,z2=0;
    		if(a[i]>a[i-1]) z1=z2,z2=1;
    		if(i!=2){
    			if(z1!=z2){
    				sum++;
    			}
    		}
    	}
    	if(a[n]<a[n-1]&&z2==0||a[n]>a[n-1]&&z2==1){
    	}
    	else{
    		sum++;
    	}
    	cout<<sum;
    }
    
    • 0
      @ 2025-6-11 13:26:32
      #include<bits/stdc++.h>
      using namespace std;
      int main()
      {
      	int n;
      	cin>>n;
      	int a[n];
      	int k=0,sum=0;//K=1 +;k=-1 -;
      	for(int i=0;i<n;i++)
      	{
      		cin>>a[i];
      	}
      	for(int i=0;i<n-1;i++)
      	{
      		if(a[i]<a[i+1])
      		{
      			if(k==-1)
      			{
      				sum++;
      			}
      			k=1;
      		}
      		else if(a[i]>a[i+1])
      		{
      			if(k==1)
      			{
      				sum++;
      			}
      			k=-1;
      		}
      		else
      		{
      			if(k!=0)
      			{
      				k=0;
      			}
      		}
      		
      	}
      	if(k!=0)
      	{
      		sum++;
      	}
      	cout<<sum;
      	return 0;
      }
      

      最后一个判定不好理解,好好想想

      • 0
        @ 2024-12-11 0:18:01

        #include<bits/stdc++.h> using namespace std; int a[100003]; int main() { int e=0,p=0,n,o; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } if(a[1]<a[2]) { o=1; } if(a[1]>a[2]) { o=0; } for(int i=1;i<=n;i++) { if(a[i]>p) { p=a[i]; if(o0) e--; o=0; e++; } if(a[i]<p) {p=a[i]; if(o1) e--; e++; o=1; } } cout<<e; return 0;

        }

        • 1

        信息

        ID
        112
        时间
        1000ms
        内存
        256MiB
        难度
        8
        标签
        递交数
        90
        已通过
        15
        上传者