2013年2月24日

UVa 539 - The Settlers of Catan


#include <stdio.h>

int n, m, len, con[25][25];

void find(int now, int l) {
  int i;
  if (l > len) len = l;
  for (i = 0; i < n; i++)
    if (con[now][i]) {
      con[now][i] = con[i][now] = 0;
      find(i, l + 1);
      con[now][i] = con[i][now] = 1;
    }
}

int main() {
  while (scanf("%d%d", &n, &m) && n || m) {
    int i, j;
    for (i = 0; i < n; i++)
      for (j = 0; j < n; j++)
        con[i][j] = 0;
    while (m--) {
      scanf("%d%d", &i, &j);
      con[i][j] = con[j][i] = 1;
    }
    len = 0;
    for (i = 0; i < n; i++)
      find(i, 0);
    printf("%d\n", len);
  }
  return 0;
}

沒有留言:

張貼留言