아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Хаотические разбиения

시간 제한1초메모리 제한1024 MB

요약
n을 서로 다른 증가하는 자연수의 합으로 나타낼 때, 이웃한 세 항에서 가운데 항이 양 끝 항의 평균이 되지 않는 모든 분할을 출력한다.
난이도

보통10점 중 6점

유형
백트래킹, 동적 계획법, 재귀
정답자
아직 제출이 없습니다

문제

Рассмотрим все представления числа nn в виде суммы различных целых возрастающих слагаемых: n=a_1+a_2+…+a_kn = a\_1 + a\_2 + \ldots + a\_k, a_1<a_2<…<a_ka\_1 < a\_2 < \ldots < a\_k.

Будем называть такое разбиение хаотическим, если для него выполнено следующее условие: для любых трех подряд идущих слагаемых среднее не равно среднему арифметическому крайних. Иначе говоря, для всех ii от 1 до k−2k - 2 выполнено a_i+1≠(a_i+a_i+2)/2a\_{i+1} \ne (a\_i + a\_{i+2}) / 2.

Задано число nn. Выведите все его хаотические разбиения на слагаемые.

입력

На ввод подается целое число nn (1≤n≤801 \le n \le 80).

출력

Выведите все хаотические разбиения на слагаемые числа nn. Разбиения можно выводить в любом порядке. Выводите слагаемые в каждом разбиении, разделяя их знаком <<+>> без пробелов.

예제1

  1. 예제 1

    입력
    9
    
    예상 출력
    1+2+6
    1+8
    2+7
    3+6
    4+5
    9