전체 배열 귀속(검색) 및 라이브러리 함수의 응용 귀속 예제poj1731
여기는 검색으로 이해할 수 있어요.
다섯 자리수: 수조로 처리하면 이해가 돼요.
#include <stdio.h>
#include <string.h>
int array[10];
bool used[10];
const int n=5;
void print()
{
for(int i=1;i<=n;i++)
printf("%d",array[i]);
puts("");
}
void dfs(int index)
{
//------------- --------------//
if(index==n+1){
print();
return ;
}
//-------------- ---------------//
for(int i=1;i<=n;i++)
if(!used[i]){
array[index]=i;
used[i]=true;
dfs(index+1);
//
used[i]=false;
}
}
int main()
{
//freopen("out.txt","w",stdout);
memset(used,false,sizeof(used));
dfs(1);
return 0;
}
c++가 c보다 좋지 않습니다.
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
string str;
cin >> str;
sort(str.begin(), str.end());
cout << str << endl;
while (next_permutation(str.begin(), str.end()))
{
cout << str << endl;
}
return 0;
}
c 코드
#include <cstdio>
#include <algorithm>
#include <cstring>
#define MAX 100
using namespace std;
int main()
{
int length;
char str[MAX];
gets(str);
length = strlen(str);
// ***
sort(str, str + length);
puts(str);
while (next_permutation(str, str + length))
{
puts(str);
}
return 0;
}
예제:
제목의 뜻은 순서를 정하는 것이지만, 같은 것이 중복되어 나타날 수 없다는 것이다
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
char a[205];
bool used[205];
char str[205];
int len;
void dfs(int index)
{
char last='\0';// ( , )
if(index==len){
str[len]='\0';
puts(str);
return ;
}
for(int i=0;i<len;i++){
if(!used[i]&&a[i]!=last){// ,
str[index]=a[i];// index, i,
used[i]=true;
last=a[i];
dfs(index+1);
used[i]=false;
}
}
}
int main()
{
while(gets(a))
{
len=strlen(a);
memset(used,false,sizeof(used));
sort(a,a+len);
dfs(0);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.