답안 #660

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
660 2013-03-01T01:37:10 Z pl0892029 지도 색칠하기 (GA3_map) C++
컴파일 오류
0 ms 0 KB
#include <algorithm>
using namespace std;

typedef struct edge
{
    int u,v;
}edge;

bool cmp(edge a,edge b){return a.u==b.u ? a.v<b.v : a.u<b.u;}

long long NumberOfMaps(int N,int M,int *A,int *B)
{
    edge arr[400];
    int table[400]=0, n;
    int chk[21]=0, cnt[21]=0, queue[21], h,t;

    int i,j,m;
    long long ret = 1, tmp = 1;
    for(i=0;i<M;i++)
    {
        arr[2*i].u=A[i],arr[2*i].v=B[i];
        arr[2*i+1].u=B[i], arr[2*i+1].v=A[i];
    }
    n=2*M;
    sort(arr,arr+n,cmp);
    for(i=1;i<n;i++) if(arr[i-1].u==arr[i].u && arr[i-1].v==arr[i].v) table[i]=1;
    for(i=1;i<=N;i++)
    {
        if( chk[i]==2 ) continue;
        tmp = 1, h=0, t=0;
        queue[t++]=i, chk[i]=1;
        while(h<t)
        {
            m=queue[h++];
            chk[m]=2; // finish
            tmp *= 4-cnt[m];
            for(j=0;j<n;j++)
            {
                if(table[j]==1) continue;
                if(arr[j].u==m)
                {
                    if(chk[arr[j].v]<2) cnt[arr[j].v]++;
                    if(chk[arr[j].v]==0)
                    {
                        queue[t++]=arr[j].v;
                        chk[arr[j].v]=1;
                    }
                }
            }
        }
        ret *= tmp;
    }
    return ret;
}

Compilation message

map.cpp: In function 'long long int NumberOfMaps(int, int, int*, int*)':
map.cpp:14: error: array must be initialized with a brace-enclosed initializer
map.cpp:15: error: array must be initialized with a brace-enclosed initializer
map.cpp:15: error: array must be initialized with a brace-enclosed initializer