[BOJ] 3040 백설 공주와 일곱 난쟁이
Algorithm 2023. 2. 6. 22:14https://www.acmicpc.net/problem/3040
3040번: 백설 공주와 일곱 난쟁이
매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다.
www.acmicpc.net
조합
using System;
using System.Linq;
namespace smilejsu
{
class Program
{
private static int[] arr = new int[9];
static void Main(string[] args)
{
for (int i = 0; i < 9; i++)
{
arr[i] = int.Parse(Console.ReadLine());
}
string input = "012345678";
int combinationLength = 7;
GenerateCombinations(input, "", combinationLength, 0);
}
static void GenerateCombinations(string input, string output, int combinationLength, int index)
{
//Console.WriteLine("{0}", output);
if (output.Length == combinationLength)
{
int sum = 0;
for (int i = 0; i < output.Length; i++)
{
int idx = int.Parse(output[i].ToString());
sum += arr[idx];
//Console.Write("{0} ", idx);
}
//Console.WriteLine();
if (sum == 100)
{
for (int i = 0; i < output.Length; i++)
{
int idx = int.Parse(output[i].ToString());
//sum += arr[idx];
Console.WriteLine("{0}", arr[idx]);
}
//Console.WriteLine(output);
}
return;
}
if (index >= input.Length)
{
return;
}
GenerateCombinations(input, output + input[index], combinationLength, index + 1);
GenerateCombinations(input, output, combinationLength, index + 1);
}
}
}
'Algorithm' 카테고리의 다른 글
[BOJ] 2108 통계학 (0) | 2023.02.13 |
---|---|
[BOJ] 1297 TV 크기 (0) | 2023.02.07 |
[BOJ] 2581 소수 (0) | 2023.02.05 |
[BOJ/C#] 11945 뜨거운 붕어빵 (0) | 2023.02.02 |
[BOJ/C#] 4796 캠핑 (0) | 2023.01.31 |