0
已解决
5540 万圣节要糖果
WA0分:
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int t,n,a[1005];
bool b[1005];
int ans,maxn;
int max(){
int p=0;
maxn=-0x3f3f3f3f;
for(int i=1;i<=n;i++){
if(b[i]){
if(a[i]>maxn){
maxn=a[i];
p=i;
}
}
}
b[p]=false;
b[p+1]=false;
if(p!=0) b[p-1]=false;
return maxn;
}
bool check(){
bool flag=true;
maxn=-0x3f3f3f3f;
for(int i=1;i<=n;i++){
if(b[i]){
flag=false;
break;
}
}
return flag;
}
int main(){
cin>>t;
for(int i=1;i<=t;i++){
cin>>n;
maxn=-0x3f3f3f3f;
memset(b,1,sizeof(b));
for(int j=1;j<=n;j++){
cin>>a[j];
}
while(true){
ans+=max();
if(check()){
cout<<ans<<endl;
break;
}
}
}
return 0;
}
周琪岳在2020-10-18 16:41:49追加了内容
@曹灿阳 我没学过递推