华南农业大学新生c语言竞赛题--分珠
来源:百度知道 编辑:UC知道 时间:2024/05/09 08:23:32
请编一程序,给定珠子个数、每颗珠子的重量以及珠子之间的连接情况,输出按上述要求分割后两部分总重的差值的绝对值。
第一行有两个数N与M(1<=N,M<=10),N为珠子个数(珠子编号依次为1,2,3,...,N),M为连接珠子的细线数目。第二行为N个正整数,分别为N个珠子的重量。此后M行,每行两个数X与Y,表示珠子X与珠子Y由细线相连。
按要求分割后两部分总重的差值的绝对值。
正确的程序若输入:
5 5
1 2 3 4 1
1 2
1 3
2 3
3 4
4 5
则输出:
1
这道题其实刚开始看吓人。。。往后一看就乐了,这么小的数据范围,直接搜索就可以。下面是程序
#include <stdio.h>
struct Edge
{
      int x, y;
};
Edge edge[ 10 ];
int n, m, hide[ 10 ][ 10 ], w[ 10 ], Min_c, sum;
void init( )
{
      int i, j, a, b;
      scanf("%d%d", &n, &m);
      sum = 0;
      for ( i = 0; i < n; i++ )
      {
            scanf("%d", &w[ i ]);
            sum += w[ i ];
            for ( j = 0; j < n; j++ )
                  hide[ i ][ j ] = 0;
      }
     &nb