5월 23일(목) - 브루트포스(10974번)
https://www.acmicpc.net/problem/10974
최초 생각 정리
문제점
1. 출력하는 경우 "1 2 3" 으로 공백을 주지않고, "!23"으로 출력하다가 3번 틀려먹었다
-> 출력조건을 다시 한 번 살펴보도록 하자
풀이
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <stdio.h>
#include <stdbool.h>
int N;
int arr[10];
bool visited[10];
void solve(int num)
{
if (num == N)
{
for (int i = 0; i < N; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
return;
}
for (int i = 0; i < N; i++)
{
if (visited[i] != true)
{
visited[i] = true;
arr[num] = i + 1;
solve(num + 1);
visited[i] = false;
}
}
}
int main(void)
{
scanf("%d", &N);
solve(0);
return 0;
}
댓글