暴力与枚举:another server
题目描述:
何老师某天在机房里搞事情的时候,发现机房里有n台服务器,从1到n标号,同时有2n-2条网线,从1到2n-2标号,其中第i条网线双向连接着 服务器和号服务器,在一个单位时间内最多能够承受x_i个单位流量。 显然这些服务器之间要进行信息交换,为了测试服务器的抗压能力,你需要帮何老师计算出1号服务器在一个单位时间内最多能向n号服务器发送多少个单位流量的数据,这里认为数据的传输是瞬间完成的。
输入描述:
第一行是一个正整数T(≤ 1000),表示测试数据的组数, 对于每组测试数据, 第一行是一个整数n(2 ≤ n ≤ 100),表示服务器的数量, 第二行包含2n-2个以空格分隔的正整数x_1,x_2,...,x_{2n-2},表示网线单位时间内能承受的流量,保证不超过100。
输出描述:
对于每组测试数据,输出一个整数,表示1号服务器在一个单位时间内最多能向n号服务器发送的数据量。
示例:
输入:
2
2
1 1
3
1 3 2 4
输出:
2
4
思路:
将连续的两根网线传输的流量看做一个整体。连续的两根网线连接相邻的两个服务器,先计算第1,2条网线的最大流量和,之后每输入两条网线的最大流量,将其求和并与之前计算的最大流量和比较,若小于,则将新的流量和替代之前计算出来的流量和。
代码:
#include<stdio.h>
int main()
{
int t,n,s,i,a,b;
scanf("%d",&t);
while(t--)
{
s=1000;
scanf("%d",&n);
for(i=0;i<n-1;i++)
{
scanf("%d%d",&a,&b);
if(s>a+b)
s=a+b;
}
printf("%d\n",s);
}
}