보자마자 DFS 기본 문제 같았다
근데 당연히 맞을 줄 알았는데 시간초과 나와서 당황했다
알고보니 endl 대신 '\n' 이거 하나 바꿔주니 바로 맞았다.
endl이 시간 많이 잡아먹는듯 하다.
앞으로는 절대 안써야지
#include <iostream>
#include <vector>
using namespace std;
int N,M;
int visited[8];
vector <int> v;
void DFS (int cnt)
{
if(cnt == M)
{
for(int i=0;i<M ;i++)
{
cout <<v[i] << " ";
}
cout << "\n";
}
for(int i=0;i<N;i++){
if(!visited[i]){
visited[i]=1;
v.push_back(i+1);
DFS(cnt+1);
visited[i]=0;
v.pop_back();
}
}
}
int main()
{
cin >> N >>M;
DFS(0);
return 0;
}
'알고리즘 > 백준' 카테고리의 다른 글
15652-N과M(4) (0) | 2020.05.11 |
---|---|
15651 - N과M(3) (0) | 2020.05.11 |
15650 - N과M(2) (0) | 2020.05.11 |
14891(톱니바퀴) (0) | 2020.04.30 |
백준 - 2667(단지번호붙이기) (0) | 2020.04.26 |