cf437C 贪心算法

来源:互联网 发布:sql数据修复工具 编辑:程序博客网 时间:2024/06/05 14:07

然而打死也没有想到用贪心,还是智商问题,智商是硬伤,也是忧伤。

贪心,每条绳子都是需要割断的,那就先割断最大值对应的那部分周围的绳子。

#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<cstdlib>#include<vector>#include<queue>#include<stack>#include<set>#include<map>#include<cmath>#define LL long longusing namespace std;const int maxn=1005;int G[maxn][maxn];struct Value{    int val;    int i;};int cmp(Value a,Value b){    return a.val>b.val;}Value value[maxn];int valuel[maxn];int main(){    int n,m;    cin>>n>>m;    for(int i=1;i<=n;i++)    {        cin>>valuel[i];        value[i].val=valuel[i];        value[i].i=i;    }    for(int i=0;i<m;i++)    {        int u,v;        cin>>u>>v;        G[u][v]=G[v][u]=1;    }    sort(value+1,value+n+1,cmp);    int sum=0;    int b;    for(int i=1;i<=n;i++)    {        b=value[i].i;        for(int j=1;j<=n;j++)            if(G[b][j])        {            sum+=valuel[j];            G[b][j]=G[j][b]=0;        }    }    cout<<sum<<endl;    return 0;}


0 0