C 언어 전체 배열의 귀속 쓰기
1117 단어 전체 배열
A문제는 전체 배열을 사용하고 쓸 줄 모르며 일종의 **귀속법 전체 배열을 배웠습니다**
깊은 검색의 귀속 표기 사상을 모방하여 매번 하나의 배열 방식을 얻고 하나의 방식을 저장한다. 왜냐하면 전체 배열>﹏<시간의 복잡도가 비교적 높기 때문이다.
#include
int base[15],mark[15],cache[15],res[int(1e7)][15]; //base ,mark ,
//cache ,res
int number,ans; //number ,ans
void dfs(int cache_index) // cache , 1 cache
{
for (int i=1;i<=number;i++)
{
if (mark[i]==1)
continue;
cache[cache_index]=base[i];
if (cache_index==number)
{
ans++;
for (int j=1;j<=number;j++)
res[ans][j]=cache[j];
return;
}
mark[i]=1;
dfs(cache_index+1);
mark[i]=0;
}
return ;
}
int main()
{
while(~scanf("%d",&base[++number]));
number--;
dfs(1);
for (int i=1;i<=ans;i++)
{
for (int j=1;j<=number;j++)
printf("%d ",res[i][j]);
printf("
");
}
return 0;
}
베리야..
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Q7.1.1 한 그룹의 수의 조합을 모두 열거하다제목: 하나의 수조 안의 수의 조합을 모두 열거합니다. 예를 들어 1과 2열은 1,2,12,21입니다. 분석: 이 문제는 여러 가지 확장이 있는데, 1, 중복된 원소의 수의 조합이 없다(자집의 전체 배열 포함). 2...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.