poj2531(Network Saboteur)

题目地址:Network Saboteur

题目大意:

一个学校的网络由N台计算机组成,为了减少网络节点之间的流量,学校将N个节点分解成两个集合(A、B),student Vasya打算入侵学校的网络,致使集合之间的流量最大,集合之间的流量计算是A集合中的所有节点到B集合中的所有节点的流量之和。

例如 1、2、3

分解集合,A可以为{1}这时B为{2、3}。然后计算 1-2的流量加上 1-3的流量为sum  求出所有可能的sum  取最大的那个。

解题思路:

题意可能有点难理解。  数据很水,直接枚举暴力。(照常理应该会超时)

代码:

 1 #include <algorithm>
 2 #include <iostream>
 3 #include <sstream>
 4 #include <cstdlib>
 5 #include <cstring>
 6 #include <cstdio>
 7 #include <string>
 8 #include <bitset>
 9 #include <vector>
10 #include <queue>
11 #include <stack>
12 #include <cmath>
13 #include <list>
14 //#include <map>
15 #include <set>
16 using namespace std;
17 /***************************************/
18 #define ll long long
19 #define int64 __int64
20 #define PI 3.1415927
21 /***************************************/
22 const int INF = 0x7f7f7f7f;
23 const double eps = 1e-8;
24 const double PIE=acos(-1.0);
25 const int d1x[]= {0,-1,0,1};
26 const int d1y[]= {-1,0,1,0};
27 const int d2x[]= {0,-1,0,1};
28 const int d2y[]= {1,0,-1,0};
29 const int fx[]= {-1,-1,-1,0,0,1,1,1};
30 const int fy[]= {-1,0,1,-1,1,-1,0,1};
31 const int dirx[]= {-1,1,-2,2,-2,2,-1,1};
32 const int diry[]= {-2,-2,-1,-1,1,1,2,2};
33 /*vector <int>map[N];map[a].push_back(b);int len=map[v].size();*/
34 /***************************************/
35 void openfile()
36 {
37     freopen("data.in","rb",stdin);
38     freopen("data.out","wb",stdout);
39 }
40 priority_queue<int> qi1;
41 priority_queue<int, vector<int>, greater<int> >qi2;
42 /**********************华丽丽的分割线,以上为模板部分*****************/
43 int map[25][25];
44 int vis[25];
45 int maxx;
46 int n;
47 int DFS(int x,int sum)
48 {
49     int i,j;
50     for(i=1; i<=n; i++)
51     {
52         if (vis[i])
53             for(j=1; j<=n; j++)
54             {
55                 if (!vis[j])
56                     sum+=map[i][j];
57             }
58     }
59     if (sum>maxx)
60         maxx=sum;
61     for(i=x; i<=n; i++)
62     {
63         vis[i]=1;
64         DFS(i+1,0);
65         vis[i]=0;
66     }
67 }
68 int main()
69 {
70     while(scanf("%d",&n)!=EOF)
71     {
72         memset(map,0,sizeof(map));
73         memset(vis,0,sizeof(vis));
74         int i,j;
75         for(i=1; i<=n; i++)
76             for(j=1; j<=n; j++)
77                 scanf("%d",&map[i][j]);
78         vis[1]=1;
79         maxx=-1;
80         DFS(2,0);
81         printf("%d\n",maxx);
82     }
83     return 0;
84 }

poj2531(Network Saboteur)

时间: 2024-07-29 20:48:15

poj2531(Network Saboteur)的相关文章

VMware虚拟机上网络连接(network type)的三种模式

VMware虚拟机上网络连接(network type)的三种模式 VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式. 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下,你需要手工为虚拟 系统配置IP地址.子网掩码,而且还要和宿主机器处于同一网段,这样虚

CSU-ACM2016暑假集训训练2-DFS(C - Network Saboteur)

C - Network Saboteur Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Description A university network is composed of N computers. System administrators gathered information on the traffic between nodes, and carefully divide

[转]VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT

转自:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/03/15/1985084.html VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式. 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下

如何通过网络遥测(Network Telemetry)技术实现精细化网络运维?

基于AI.大数据的互联网应用推动了互联网数据中心产品.技术的快速升级. 首先,接入带宽从传统的10Gbps升级到25Gbps/100Gbps,需要基础网络提供高转发能力保障业务的高可用. 其次,基于RDMA(Remote Direct Memory Access,远程直接内存访问)无损以太网技术的普遍应用,实现了计算节点到存储节点的微秒级时延,大大优化端到端的业务转发性能,而这也意味着对网络运维提出了更高的挑战--如何在大规模.复杂的HPC(High Performance Computing)

网络编码(Network Encoding)与多径路由(Multi-path routing)

传统的网络编码研究在以一个简单的例子阐述网络编码方案可以比传统的单路径多传输1.5比特.虽然要了解网络编码的现有研究成果需要概率论.信息论.图论等方面的知识,但感觉似乎这些还没有达到实用程度? 下面几个问题如何解决: 1.如何不知道网络拓扑的情况下"探测"之,并应用一个最佳的网络编码方案? 2.网络编码仅目前提出的那几种方案吗? 3.多源传输信道有何实际意义?既然"多源",这些源之间如何保证一致性和同步?难道应用量子纠缠的特性吗? 如果不考虑编码性能的最优,倒是可以

1000: A+B Problem(NetWork Flow)

1000: A+B Problem Time Limit: 1 Sec  Memory Limit: 5 MBSubmit: 11814  Solved: 7318[Submit][Status][Discuss] Description Calculate a+b Input Two integer a,b (0<=a,b<=10) Output Output a+b Sample Input 1 2 Sample Output 3 HINT Q: Where are the input a

在CentOS7中配置网路成组(Network Team)

之前写了一篇网络成组的文章,使用的是nmtui图形界面配置,但JSON字符串输入很繁琐.因此,建议nmcli进行配置.另外,在CentOS7中推荐网络成组的方式替代以往的网卡绑定,对于具体的操作在红帽子的白皮书中已经有详细的论述,具体可以参看https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/index.html 使用nmcli工具进行配置 1. 创建网络成组

VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT

VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式. 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下,你需要手工为虚拟 系统配置IP地址.子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信.同时,由于这个虚拟系统是局域网中的一个

UNIX高级环境编程(12)进程关联(Process Relationships)- 终端登录过程 ,进程组,Session

在前面的章节我们了解到,进程之间是有关联的: 每个进程都有一个父进程: 子进程退出时,父进程可以感知并且获取子进程的退出状态. 本章我们将了解: 进程组的更多细节: sessions的内容: login shell和我们从login shell启动的进程之间的关系. ? 一 终端登录(Terminal Logins) BSD Terminal Logins ?BSD终端的登录程序在过去35年都没有改变. 系统管理员(the system adminstrator)创建一个文件 /etc/ttys