5월 16일(목) - 브루트포스(10819번)
https://www.acmicpc.net/problem/10819
최초 생각 정리
문제점
풀이
(풀이출처 -> https://wonsjung.tistory.com/67)
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <stdio.h>
#include <math.h>
int N, result;
int num[9];
int visited[9];
int rep[9];
int MAX(int x, int y)
{
return ((x > y) ? (x) : (y));
}
void calculate(int count)
{
if (count == N)
{
int total = 0;
for (int i = 0; i < N - 1; i++)
{
int sum = abs(rep[i] - rep[i + 1]);
total = total + sum;
}
result = MAX(total, result);
return;
}
for (int i = 0; i < N; i++)
{
if (!visited[i])
{
visited[i] = 1;
rep[count] = num[i];
calculate(count + 1);
visited[i] = 0;
}
}
}
int main(void)
{
scanf("%d", &N);
for (int i = 0; i < N; i++)
{
scanf("%d", &num[i]);
}
calculate(0);
printf("%d", result);
return 0;
}
댓글