노노그램2 [C/C++] 네모네모 로직(nonogram) 풀기 - 3 네모네모로직을 사람이 하는 방법을 채택해서 풀어보면 어떨까요? 이미 백트래킹 방법(back tracking)으로 네모네모 로직을 풀어보았습니다. 이 방법을 이용하면, 모든 경우를 다 탐색하기 때문에 풀지 못 하는 로직은 없습니다. 시간은 많이 걸릴 수가 있습니다. 사람이 푸는 방식을 채택해서 풀어보면, 보다 합리적인 시간안에 문제를 풀 수 있고, 이것을 이용하면, 합리적인 네모네모로직 문제를 만들 수도 있습니다. (네모네모 로직 중 답이 여러개인 경우도 꽤 있고 여러 경우의 수를 생각해서 풀어야 하는 것들도 있습니다.) 새로운 방법을 기존의 NemoLogic 클래스에 적용해서 클래스 설계를 해보았습니다. [NemoLogic class]class NemoLogic{public: NemoLogic().. 2014. 11. 26. [C/C++] 네모네모 로직(nonogram) 풀기 - 2 네모네모로직을 풀기 위한 프로그램입니다. 기초적인 것은 앞의 글을 참고하세요. 첫번째, 로직프로그램을 담기 위한 클래스를 설계해봐야겠죠. [NemoLogic 클래스 뼈대]class NemoLogic{public: NemoLogic(); ~NemoLogic(); bool Load(const char *filename); void InitSolve(); bool Solve(); void PrintResult(); void Print(int row); int GetColNum() const { return colnum; } int GetRowNum() const { return rownum; } char *GetResult() const { return board; }protected: int GetNumb.. 2014. 11. 17. 이전 1 다음