zoukankan      html  css  js  c++  java
  • POJ2531-Network Saboteur

    题目走起GO,GO,GO-->

    【题目描述】

    附中的网络一共由N台终端计算机构成。系统管理员掌握了每两个节点之间的流量,并且将整个网络分成两个子网,使得两个子网之间产生的流量尽可能小。
    LQX来到信息社的一年多来专注于黑客技术的研究,现在他入侵了管理系统,掌握了系统管理员的所有信息,并且想重新划分两个子网,使得子网之间的流量尽可能大,从而搞崩整个网络系统。但是如果有人可以提前计算出LQX的方案,LQX的破坏计划就会被暴露,从而遭到高老师的惩罚。
    流量数据用C矩阵表示,Cij表示i节点和j节点之间的流(Cij=Cji,Cii=0)。LQX的目标是将整个网络划分为A和B两个子网,使得所有Cij的和最大(i属于A网络,j属于B网络)。

    【输入】

    输入第一行为一个整数N(2<=N<=20)。在接下来N行,包括N个用空格隔开的数字,表示流量矩阵 C(0<=Cij<=10000)。

    【输出】

    输出为一个整数,表示两个子网间的最大流量。

    【输入示例】

    3
    0 50 30
    50 0 40
    30 40 0

    【输出示例】

    90

     

    咳咳咳,DK声明一下,这道题是我们老师魔改过的,不要在意细节,题目主体没有变哦。

    首先,这道题是深搜!深搜!深搜!哈哈哈!我最喜欢深搜了!

    咳咳,有点OOC,我们继续。

    这道题的深搜思路是这样滴

    元素---》分到A或B--》记录节点流量--》下一个元素--》……--》元素分完了,回溯。

    代码出场————dalala~~~

     1 #include<iostream>
     2 using namespace std;
     3 int net[23][23];
     4 int num;
     5 int max1=0;
     6 int a1[23];
     7 int a2[23];
     8 int ai=0,aj=0;
     9 void part(int x,int ans)
    10 {
    11     if(x>num)
    12     {
    13         if(ans>max1)
    14         {
    15             max1=ans;
    16         }
    17         return;
    18     }
    19     a1[ai]=x;
    20     ai++;
    21     int k=0;
    22     for(int i=0;i<=aj;i++)
    23     {
    24         k=k+net[x][a2[i]];
    25     }
    26     part(x+1,ans+k);
    27     ai--;
    28     a1[ai]=0;
    29     a2[aj]=x;
    30     aj++;
    31     k=0;
    32     for(int i=0;i<=ai;i++)
    33     {
    34         k=k+net[x][a1[i]];
    35     }
    36     part(x+1,ans+k);
    37     aj--;
    38     a2[aj]=0;
    39     return;
    40 }
    41 int main()
    42 {
    43     cin>>num;
    44     for(int i=1;i<=num;i++)
    45     {
    46         for(int j=1;j<=num;j++)
    47         {
    48             cin>>net[i][j];
    49         }
    50     }
    51     part(1,0);
    52     cout<<max1; 
    53 }

    完成,一道深搜就这样出来了。

    我才不会告诉你们LQX是谁呢

     

     

    在暴风雨中低着头,是为了不让雨水模糊风雨后眼中的彩虹。

     

  • 相关阅读:
    JavaScript中的this指向
    JQ延迟对象
    JavaScript事件简述
    1.0 HTML/CSS 优化--《高效前端》学习笔记
    浏览器工作原理(学习笔记)
    this 绑定例外之间接引用
    全局函数是否存在闭包?
    nuxt + vue-i18n 踩坑记录
    继承(学习笔记) —— 《高级教程》
    三、函数作用域和块作用域(学习笔记)—— 《你不知道的JavaScript》
  • 原文地址:https://www.cnblogs.com/DK-F/p/9436933.html
Copyright © 2011-2022 走看看