zoukankan      html  css  js  c++  java
  • NYOJ--811--变态最大值

    /*
    	Name: NYOJ--811--变态最大值
    	Author: shen_渊 
    	Date: 17/04/17 15:49
    	Description: 看到博客上这道题浏览量最高,原来的代码就看不下去了 o(╯□╰)o 
    */
    
    #include<cstring>
    #include<iostream> 
    #include<algorithm>
    using namespace std;
    struct group{
    	int first,second,third;
    	int max_value;//三个数中的最大值 
    	bool operator<(const group &a)const{
    		return max_value>a.max_value;
    	}
    }num[4000]; 
    int main()
    {
    	int n,i,j;
    	while(cin>>n){
    		memset(num,0,sizeof(num));
    		i = n/3;
    		for(j=0; j<i; ++j){
    			cin>>num[j].first>>num[j].second>>num[j].third;
    			if((j+1)%2){
    				num[j].max_value = (num[j].max_value = num[j].first>num[j].second?num[i].first:num[j].second)
    				>num[j].third?num[j].max_value:num[j].third;
    			}else{
    				num[j].max_value = (num[j].max_value = num[j].first>num[j].second?num[j].second:num[j].first)
    				>num[j].third?num[j].third:num[j].max_value;
    			}
    		}
    		sort(num,num+i);
    		cout<<num[0].max_value<<endl;
    	}
    	return 0;
    }
    /*
    	Name: NYOJ--811--变态最大值 
    	Author: shen_渊 
    	Date: 17/04/17 16:12
    	Description: 整理了一下以前的代码 
    */
    #include<stdio.h>
    #include<malloc.h>
    int smax(int a,int b,int c){
    	int max;
    	max = (max = a>b?a:b)>c?max:c;
    	return max;
    }
    int smin(int a,int b,int c){
    	int max;
    	max = (max = a<b?a:b)<c?max:c;
    	return max;
    }
    int main()
    {
    	int N;
    	int n;
    	int *a,*b;
    	int mark = 0;
    	while(scanf("%d",&N) != EOF){
    		fflush(stdin);//清空输入缓冲区 
    		n = N/3;
    		a=(int *)malloc(sizeof(int)*N);
    		b=(int *)malloc(sizeof(int)*n);
    		int i=0,j=0;
    		for(i=0;i<N;i++)scanf("%d",&a[i]);
    		i=0;
    		while(i<N){
    			if(mark%2){
    				b[j++]=smin(a[i],a[i+1],a[i+2]);
    				mark++;
    			}
    			else{
    				b[j++]=smax(a[i],a[i+1],a[i+2]);
    				mark++;
    			}
    			i += 3;
    		}
    		int d=b[0];
    		for(i=1;i<n;i++)if(d < b[i])d=b[i];
    		printf("%d
    ",d);
    		mark = 0;
    	}
    	return 0;
    }



  • 相关阅读:
    数组
    JavaScript语法
    Math.random()
    第二第三周暑期集训总结
    第一周
    ACM课程学习总结
    专题四---总结
    专题四--1004
    专题四--1005
    专题四--1006
  • 原文地址:https://www.cnblogs.com/langyao/p/7251964.html
Copyright © 2011-2022 走看看