题目地址:
http://acm.hdu.edu.cn/showproblem.php?pid=2673
拍两次序,交替输出
1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 using namespace std; 5 #define MAX_NUMBER 10000 6 bool myfunction1 (int i,int j) { return (i<j); } 7 bool myfunction2 (int i,int j) { return (i>j); } 8 int number[2][MAX_NUMBER]; 9 int main() 10 { 11 //freopen("input.txt","r",stdin); 12 int n,tmp,count=0,index,flag; 13 while(cin>>n && n!=0) 14 { 15 for(int i=0;i<n;i++) 16 { 17 cin>>tmp; 18 number[0][i]=number[1][i]=tmp; 19 } 20 sort(number[0],number[0]+n,myfunction1); 21 sort(number[1],number[1]+n,myfunction2); 22 index=count=0; 23 flag=0; 24 while(index<n && count<n) 25 { 26 if(flag) cout<<" "; 27 if(count<n) {cout<<number[1][index];count++;} 28 if(count<n) {cout<<" "<<number[0][index];index++;count++;} 29 flag=1; 30 } 31 } 32 return 0; 33 }