제가 지금 졸업논문 전에 가볍게 몸푸는 프로그래밍 짜는 과제를 받았는데
도저히 답이 안보이네요
설명을 하옵자면
목적은 x by x 행렬을 만들고 행과 열을 입력하면 그 행의 값과 열의 값, 행과 열에서 가지는 값 을 보여주는 프로그램입니다.
여기서 문제점이 x by x 행렬인데
이 x가 10개의 구멍(구슬을 하나만 넣을 수 있는)에 5개의 구슬이 들어가는 경우가 됩니다. 고로 10C5=252의 경우이죠
그리고 각 행과 열의 값은 1111100000 1111010000 이딴식으로 전개되옵니다.(물론 노가다로 때려넣으면 어떻게든 되겠지만;)
그 행과 열에서 가지는 값은 열 값이 0111110000 이라고 치면
1) 행의 값이 구슬 한 개를 바로 옆 한 칸으로 움직여서 가능한 경우 : -t (1011110000 or 0111101000)
2) 행의 값이 열의 값과 똑같은 경우 : E (0111110000)
3) 행의 값이 구슬을 한 번 옮겨서는 불가능한 경우 : 0 (0111100100 or 1111100000)
이걸 가려내야 된답니다;;
저의 아둔한 생각으로는 포인터와 for문을 적절히 쓰고 if를 써서 하면 될거라 생각했는데
일단 행과 열의 값을 만드는 것 부터가 답이 안나오네요 늅늅
대인 횽들 연말 연시 불쌍한 중생 구제에 힘을 보태주세요
도저히 답이 안보이네요
설명을 하옵자면
목적은 x by x 행렬을 만들고 행과 열을 입력하면 그 행의 값과 열의 값, 행과 열에서 가지는 값 을 보여주는 프로그램입니다.
여기서 문제점이 x by x 행렬인데
이 x가 10개의 구멍(구슬을 하나만 넣을 수 있는)에 5개의 구슬이 들어가는 경우가 됩니다. 고로 10C5=252의 경우이죠
그리고 각 행과 열의 값은 1111100000 1111010000 이딴식으로 전개되옵니다.(물론 노가다로 때려넣으면 어떻게든 되겠지만;)
그 행과 열에서 가지는 값은 열 값이 0111110000 이라고 치면
1) 행의 값이 구슬 한 개를 바로 옆 한 칸으로 움직여서 가능한 경우 : -t (1011110000 or 0111101000)
2) 행의 값이 열의 값과 똑같은 경우 : E (0111110000)
3) 행의 값이 구슬을 한 번 옮겨서는 불가능한 경우 : 0 (0111100100 or 1111100000)
이걸 가려내야 된답니다;;
저의 아둔한 생각으로는 포인터와 for문을 적절히 쓰고 if를 써서 하면 될거라 생각했는데
일단 행과 열의 값을 만드는 것 부터가 답이 안나오네요 늅늅
대인 횽들 연말 연시 불쌍한 중생 구제에 힘을 보태주세요
어렵네요,저는못알아먹을내용이네요
횽아들... 무슨말인지 모르겠어요...
저도 2진수를 생각했었는데 문제는 1이 무조건 5개는 들어가야되니까 결국 일일이 생각해줘야되는 경우가 많아지는게 문제
그런데 저걸 \'x by x 행렬\'이라고 볼 수 있나? 그냥 1이 다섯개인 10자리 2진수를 두 개 입력받아서 -t, 0, E 셋 중 하나 출력하는거 아니야?
원래는 행렬로 표현하는 식인데 내가 프로그래밍으로 얻고 싶은 값만 얻으면 되서 두개를 비교하면 되는거지 뭐 근데 문제는 252가지의 경우를 자동으로 생성해줄 무언가가 필요해
그리고 몇번째 행인지 입력하면 그 행의 값(1111100000 이라던가) 나와야 되고...포인터에 넣고 for로 돌리도록 만들어야 할까?