풀 배열Reference
우 리 는 n 의 전체 배열 을 1, 2, 3 이 라 고 부 릅 니 다. n 은 일정한 순서에 따라 구 성 된 서열 입 니 다. 예 를 들 어 3 의 모든 배열 은 1, 2, 3, 2, 3, 3, 3, 1, 2, 3, 2, 1 입 니 다.
입력
첫 줄 의 정수 n
출력
모든 n 의 전체 배열 을 출력 하고 사전 순서에 따라 작은 것 에서 큰 것 으로 출력 합 니 다.사전 순서 비교 크기 방법 은 첫 번 째 숫자 부터 비교 하 는 것 이 고, 다 르 면 크기 를 비교 하 는 것 이다. 그렇지 않 으 면 두 번 째 위 치 를 비교 해서 크기 위 치 를 비교 하 는 것 이다.샘플 은 사전 순서에 따라 정렬 한 결과 이다.
입력 샘플 1
3
출력 샘플 1
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1
제시 하 다.
데이터 범위: 1 < = n < = 8
메모: 결 과 를 출력 할 때 줄 이 끝 난 후 줄 을 바 꾸 기 전에 빈 칸 이 있 습 니 다.
C
#include
#include
int order[20];
int n;
bool c[20];
void calc(int k){
if (k == n + 1)
{
for (int i = 1; i <= n; i++)
{
printf("%d ", order[i]);
}
printf("
");
return;
}
for (int i = 1; i <= n; i++)
{
if (c[i])
{
continue;
}
order[k] = i;
c[i] = 1;
calc(k+1);
c[i] = 0;
}
}
int main(void){
scanf("%d", &n);
calc(1);
return 0;
}
Reference
https://syzoj.com/submission/25246
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.