| yasss. YASSS´Â ÁÖ¾îÁø ½ºµµÄí½º¸¦ ÇØ°áÇÏ´Â ¸í·É ÁÙ C ++ ÇÁ·Î±×·¥ÀÔ´Ï´Ù. |
Áö±Ý ´Ù¿î·Îµå |
yasss. ¼øÀ§ ¹× ¿ä¾à
- °Ô½ÃÀÚ À¥»çÀÌÆ®:
- http://moritz.faui2k3.org/en/mowyw
yasss. ű×
yasss. ¼³¸í
YASSS´Â Sudokus°¡ ÁÖ¾îÁö´Â ¸í·É ÁÙ C ++ ÇÁ·Î±×·¥ÀÔ´Ï´Ù. YASS´Â Sudokus°¡ ÁÖ¾îÁø Ŭ·¡½º¿¡¼ ¼öÇàµÇ´Â ¸í·É ÁÙ C ++ ÇÁ·Î±×·¥ÀÔ´Ï´Ù. ±×·¡¼ ¸ðµç ±â´ÉÀ» ĸ½¶ÈÇϴ Ŭ·¡½º¿¡¼ ¼öÇàµÇ¹Ç·Î ´Ù¸¥ GUI¸¦ ½±°Ô ¼³Á¤ÇÏ´Â °ÍÀÌ ½±½À´Ï´Ù. ¿öÅ© ½Ã°è½º´Â 2- Â÷¿ø ¹è¿. °¢ ¼¿¿¡ ´ëÇØ ¾î¶² ¼ýÀÚ¸¦ ÀÔ·Â ÇÒ ¼ö ÀÖ´ÂÁö¿¡ ´ëÇØ ÀúÀåµË´Ï´Ù. ½ÇÁ¦ ÇØ°á»ç´Â ¾Æ·¡¿¡¼ ¼³¸íÇÕ´Ï´Ù. Ŭ·¡½º SudoKuif Ŭ·¡½ºÀÇ Çìµù ÆÄÀÏÀº ¼¿À» Æ÷ÇÔÇÏ°í ÀÖÀ¸¸ç, ºñ¾î ÀÖ½À´Ï´Ù. # ifndef _moritz_field_ # define _moritz_field_ # // a sudoku 2D °íÁ¤ Å©±â ¹è¿·Î ±¸Çö µÈ Àç»ý Çʵå // ÀÏ°ü¼º °Ë»ç ¹× Solver.class sudoku {public : sudoku (); // Ital µ¥ÀÌÅÍ°¡ÀÖ´Â Çʵ带 ¸¸µì´Ï´Ù. 0Àº "¼³Á¤µÇÁö ¾ÊÀ½"À» ÀǹÌÇÕ´Ï´Ù. // ù ¹ø° ÁÂÇ¥´Â x·Î °£ÁֵǹǷΠArray char f = {{1, 2 ...}, {..}}À» »ý¼ºÇÕ´Ï´Ù. ±×·¯³ª Sudoku´Â °ÆÁ¤ÇÏÁö ¸¶½Ê½Ã¿À. Sudoku (charint_data ) ½ºµµÄí (char * init_data); // Ãʱ⠵¥ÀÌÅÍ°¡ÀÖ´Â Çʵ带 ¸¸µì´Ï´Ù. 0Àº "¼³Á¤µÇÁö ¾ÊÀ½"À» ÀǹÌÇÕ´Ï´Ù. // ù ¹ø° ÁÂÇ¥´Â x·Î °£ÁֵǹǷΠArray char f = {{1, 2 ...}, {..}}À» »ý¼ºÇÕ´Ï´Ù. ±×·¯³ª Sudoku´Â °ÆÁ¤ÇÏÁö ¸¶½Ê½Ã¿À. // ÁÖ¾îÁø ½ºÆ®¸²¿¡ ¿ÀÈ÷·Á ´Ü¼øÇÑ Ãâ·ÂÀ» »ý¼ºÇÕ´Ï´Ù. // pretty_print (cout) ¶Ç´Â ±×·± °Í°ú °°ÀÌ È£Ãâ ... void pretty_print (std :: ostream handle); // ÇϳªÀÇ Çà¿¡ÀÖ´Â ¸ðµç ¹®ÀÚ¸¦ ÀμâÇϽʽÿÀ. void print (std :: ostream handle); // Ç׸ñ (x, y)À» val // ¼¼Æ® //´Â ±×°ÍÀÌ Sudoku ±ÔÄ¢ //¿Í µ¿ÀÏÇÑ Sudoku ±ÔÄ¢°ú Ãæµ¹ÇÏÁö ¾Ê´Â´Ù°í °¡Á¤ÇÕ´Ï´Ù. true void set_item (char v, int x, int y); // À§Ä¡ (x, y) // 0¿¡¼ Ç׸ñÀÌ "unset"int get_item (int x, int y)À» ÀǹÌÇÕ´Ï´Ù. // set (x, y) val // val // if val // if val == val == if val ==¿¡ÀÖ´Â °æ¿ì true¸¦ ¹ÝȯÇÕ´Ï´Ù µ¥ÀÌÅÍ bool allowed_set (char v, int x, int y); // ÆÛÁñÀ» ÇØ°áÇÏ·Á°í ³ë·ÂÇϽʽÿÀ. ¼º°ø½Ã true¸¦ ¹ÝȯÇÕ´Ï´Ù. bool solve (); // Á¦·Î Ç׸ñÀÌ ³²Áö ¾ÊÀ¸¸é true¸¦ ¹ÝȯÇÕ´Ï´Ù. // ¹®Á¦°¡ ¿Ã¹Ù¸£°Ô ÇØ°áµË´Ï´Ù. bool is_solved (); // // À§¹Ý ±ÔÄ¢ bool is_stuck ()¾øÀÌ °è¼ÓÇÒ ¼ö¾ø´Â °æ¿ì true¸¦ ¹ÝȯÇÕ´Ï´Ù. Protected : // unset °ªÀÌ ¼³Á¤µÇÁö ¾ÊÀº °ª°ú // °ªÀÌ char µ¥ÀÌÅ͸¦ ¼³Á¤Çϸé 0À» Æ÷ÇÔÇÕ´Ï´Ù ; // Çã¿ë µÈ ´Â Áï½Ã // Ãæµ¹À» ¸¶Ä¡Áö ¾Ê°í µ¥ÀÌÅÍ ¸¦ I + 1·Î ¼³Á¤ÇÒ ¼öÀÖ´Â °æ¿ì¿¡¸¸ TRUEÀÔ´Ï´Ù. // µ¥ÀÌÅÍ == i! = 0ÀÌ¸é ´Â true, // Çã¿ë = false j! = i boool Çã¿ë ; bool simple_solve (); bool simple_solve1 (); bool simple_solve2 (); // is_solved ¶Ç´Â stuck () ¹öÀüÀÇ *ÀÌ bool backtrack () ¹öÀüÀ» ¹ÝȯÇÕ´Ï´Ù. void null_init (); int recursion_depth; void set_recursion_depth (int rd) {recursion_depth = rd;};};ÀÌ ¸±¸®½ºÀÇ »õ·Î¿î ±â´É : ¡¤ÀÌ ¸±¸®½º´Â ÀÓÀÇÀÇ Ãʱ⠴ܼ·Î ½ºµµÄí¸¦ »ý¼ºÇÏ´Â ¿É¼ÇÀ» Ãß°¡ÇÕ´Ï´Ù.
yasss. °ü·Ã ¼ÒÇÁÆ®¿þ¾î