craclog   7년 전

혼자 해결해보려다 결국 질문합니다..ㅠ 

어떤 질문글에 정점(n)의개수가 1000개 이하일 뿐, n이 1~1000 이 아니라는 글을 본거같아서 

이렇게 짯습니다. 혹시 무조건 1~n 까지라 가정해도 되는건가요?


예제와 주석처리해놓은 값들도 제대로 나옵니다. 어떤 Test case에서 틀리는지 모르겠네요ㅠ

sgchoi5   7년 전

저도 하수라 어디가 문제인지는 모르겠네요 제가 푼거보니 너무 복잡하게 푸신것 같아서....

#define MAX 1000
int map[MAX + 1][MAX + 1];
int visited[MAX + 1];

int queue[MAX*MAX + 1];

정점을 연결하는 간선정보를 2차원 배열로 처리할 수 있습니다 (1000정도는 가능)

    for (int m = 0; m < M; m++) {
        scanf("%d %d", &v1, &v2);
        map[v2][v1] = map[v1][v2] = 1; // 양방향
    }
  이렇게 하고 다음 찾을때  1부터 MAX 값순으로 검색하면 따로 소트할필요도 없습니다...

댓글을 작성하려면 로그인해야 합니다.