poj1700 Crossing River
2016-07-13 19:40
211 查看
/article/6021401.html
这篇博客讲的很好,推荐一下。
自己想了一个小时都不会,太菜了。
核心思路是让重的先走。
这篇博客讲的很好,推荐一下。
自己想了一个小时都不会,太菜了。
核心思路是让重的先走。
hljs cpp">#include<cstring> #include<cmath> #include<iostream> #include<algorithm> using namespace std; int a[1010],ans; void duhe(int x) { int i,j,k,m,temp1,temp2; if(x==1) { ans+=a[1]; } if(x==2) { ans+=max(a[1],a[2]); } if(x==3) { //sort(a,a+n); ans+=a[3]; ans+=a[1]; ans+=a[2]; } if(x>3) { i=1; j=2; k=x-1; m=x; temp1=a[i]+2*a[j]+a[m]; temp2=2*a[i]+a[m]+a[k]; ans+=min(temp1,temp2); duhe(x-2); } return ; } int main(void) { int t,n; cin>>t; while(t--) { cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; ans=0; sort(a+1,a+n+1); duhe(n) ; cout<<ans<<endl; } return 0; }