Submission #755

#TimeUsernameProblemLanguageResultExecution timeMemory
755CodingIsHard지도 색칠하기 (GA3_map)C++98
30 / 120
1500 ms940 KiB
#include <vector>
using namespace std;

int n;
int color[21];
vector<int> v[21];

long long brute(int pos)
{
    if(pos == n) return 1;
    
    long long cnt = 0;
    vector<int>::iterator iter;
    for(int i = 1;i <= 4;i++)
    {
        color[pos] = i;
        for(iter = v[pos].begin();iter != v[pos].end();++iter)
            if(color[*iter] == color[pos])
                break;
        
        if(iter == v[pos].end())
            cnt += brute(pos + 1);
    }
    color[pos] = 0;
    
    return cnt;
}


long long NumberOfMaps (int N, int M, int *A, int *B)
{
    n = N + 1;
    for(int i = 0;i < M;i++)
    {
        v[A[i]].push_back(B[i]);
        v[B[i]].push_back(A[i]);
    }
    
	return brute(1);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...