zoukankan      html  css  js  c++  java
  • poj 2531 Network Saboteur

      题意:有n台电脑,然后给出电脑两两相连的链接速度,把这些电脑分成 两组,组内链接时间为0,求两组的最大链接速度。

      一台电脑分两种情况进行DFS,属于第一组或属于第二组。

    #include<stdio.h>
    #include<string.h>
    
    int n;
    int C[25][25];
    int f[25];
    int ans;
    void DFS(int a,int sum)
    {
        if(a==n)
        {
            if(sum>ans) ans=sum;
            return ;
        }
        int temp = 0;
        for(int i=0;i<a;i++)
            if(f[i]==2)
                temp+=C[a][i];
        f[a]=1;
        DFS(a+1,sum+temp);
        temp=0;
        for(int i=0;i<a;i++)
            if(f[i]==1)
                temp+=C[a][i];
        f[a]=2;
        DFS(a+1,sum+temp);
    }
    int main()
    {
        while(scanf("%d",&n)!=EOF)
        {
            for(int i=0;i<n;i++)    for(int j=0;j<n;j++)    scanf("%d",&C[i][j]);
            memset(f,0,sizeof(f));
            ans=0;f[0]=1;
            DFS(1,0);
            printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    B树,B+树
    中断
    死锁
    无锁队列
    Cookie和Session
    分布式系统一致性
    c++ 标准库迭代器失效
    html5 app图片预加载
    html5 手机APP计算高度问题
    html5 750 REM JS换算方法
  • 原文地址:https://www.cnblogs.com/yongren1zu/p/3295544.html
Copyright © 2011-2022 走看看