n x m 크기의 2차원 배열이 있는데
이 배열의 각 요소에는 0,1 중 하나가 들어간다고 치면
모든 경우의 수를 훑고 싶음. 예를들어 2x2라면
0 0
0 0
1 0
0 0
1 1
0 0
1 1
1 0
1 1
1 1.. 이런식으로
근데 동적할당해서 유동배열로 쓸거라 좀 커질수도 있음
여튼 이걸 재귀함수를 이용해서 모든 경우의 수를 확인하게 하고싶은데
그 결과로 어떤 연산을 하고 결국 하나의 경우의 수당 하나의 정수로 남길거라
배열에 일일히 저장안하고 결과에 대해 계산하고 갱신하고 계산하고 갱신하고 하는식으로 해도되는데..이건 제가 알아서 할테니
2차원 배열에서 재귀로 경우의 수 다 확인하는 좀 알려주어..
일일히->일일이 (틈틈이 간간이 누누이 곰곰이 일일이 번번이 깨끗이 깊숙이 등등..) [리듬 맞춤법 봇♬]
2차원 배열을 다룬다 생각하지 말고 길이 n x m짜리 1차원 배열을 다룬다고 생각하면 도움이 될 듯
경우의 수만 뽑는거면 공식쓰면 되는거 아님?
하스켈로 sequence (replicate (n * m) [0, 1]) 하면 길이 n x m짜리 1차원 리스트의 가능한 모든 경우가 나오는데 이 리스트에 원하는 [Int] -> Int 함수 map시키면 니가 말한 n x m짜리 2차원 배열을 정수 하나로 바꾸는 계산이 완성되겠지
크기가 25정도만 넘어가도 속도 엄청 느려질텐데
cc가 한말대로 하고 있었는데 이거보다 빠른 방법은 ㄴㄴ임? 갯수늘어나면 오래걸리는대 - dc App
아 히스켈을 쓰라고? - dc App
개수 늘어나면 당연히 느려지지 ㅋㅋㅋ 경우의 수가 2^(nm) 인데
ㅇㅇ//갯수->개수 (개수 (個數)[명사] : 한 개씩 낱으로 셀 수 있는 물건의 수효.) [리듬 맞춤법 봇♬]