代码:
#include<iostream>
#include <algorithm>
using namespace std;
int b[201][201],f_u[21],n,m,k,maxx;
struct food{
int id,health;
}a[21];
bool cmp(food a,food b){
return a.health>b.health;
}
void ParseIn(){
cin >>n>>m>>k;
int c,d;
for(int i = 1; i <= n; i++){
cin >>a[i].health;
a[i].id=i;
}
for(int i = 1; i <= m; i++){
cin >>d>>c;
b[d][c] = 1;
b[c][d] = 1;
}
}
void find_best(int strat){
int ans;
int bad=0;
for(int i = 1; i <= n; i++){
if(i != strat){
if(!f_u[a[i].id]){
ans+=a[i].health;
if((b[a[i].id][a[strat].id])){
bad++;
}
f_u[a[i].id]=true;
if(bad >= k){
f_u[a[i].id]=false;
ans-=a[i].health;
bad--;
}
}
}
cout <<ans<<" "<<i<<" "<<maxx<<" "<<bad<<endl;//a
f_u[a[i].id]=false;
if(ans > maxx){
maxx=ans;
}
}
}
int main(){
int sum,bad;
ParseIn();
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
find_best(i);
}
cout <<maxx;
return 0;
}
a未被注释:0 1 0 0
0 2 0 0
0 3 0 0
0 1 0 0
0 2 0 0
50 3 0 0
50 1 50 0
120 2 50 0
120 3 120 0
120
a被注释:124
啥情况啊!?