U E D R , A S I H C RSS

Full text search for "Eight Queen Problem/FindPage"

Eight Queen Problem/Find Page


Search BackLinks only
Display context of search results
Case-sensitive searching
  • EightQueenProblem/da_answer . . . . 68 matches
          TQueenPos = record
          function getNextQueenPos(index, X, Y:integer):boolean;
          QueenPosArr: array of TQueenPos;
          setLength(QueenPosArr, CBoardSize);
          QueenPosArr[i].X := -1;
          QueenPosArr[i].Y := -1;
          QueenPosArr[0].X := 0;
          QueenPosArr[0].Y := i;
          if getNextQueenPos(0, QueenPosArr[i].X, QueenPosArr[i].Y) then
          showMessage(inttostr(QueenPosArr[j].X)+'-'+inttostr(QueenPosArr[j].Y));
         function TForm1.getNextQueenPos(index, X, Y:integer):boolean;
          QueenPosArr[nowIndex].X := nowIndex;
          QueenPosArr[nowIndex].Y := i;
          if checkRule(QueenPosArr[nowIndex].X, QueenPosArr[nowIndex].Y) then
          if getNextQueenPos(nowIndex, QueenPosArr[nowIndex].X, QueenPosArr[nowIndex].Y) then
          QueenPosArr[nowIndex].X := -1;
          QueenPosArr[nowIndex].Y := -1;
          QueenPosArr[nowIndex].X := -1;
          QueenPosArr[nowIndex].Y := -1;
          if QueenPosArr[i].X > -1 then
  • EightQueenProblem . . . . 64 matches
         === About [Eight Queen Problem] ===
         ||이준욱|| 3h:20m || 40 lines || C || ["EightQueenProblem/이준욱"] ||
         ||iCarus|| 0h:30m || 30 lines || C || ["EightQueenProblem/lasy0901"] ||
         ||["이덕준"]|| 1h:10m || 73 lines || C++ || ["EightQueenProblem/이덕준소스"] ||
         ||최태호|| 0h:35m || 71 lines || C++ || ["EightQueenProblem/최태호소스"] ||
         ||이선호|| 2h:29m || 58 lines || C++ || ["EightQueenProblem/이선호"] ||
         ||강석천|| 4h:50m || 135 lines (+ 82 line for testcode. total 217 lines)|| python || ["EightQueenProblem/강석천"] ||
         ||임인택|| 2h:00m || 75 lines || C++ || ["EightQueenProblem/임인택"] ||
         ||이선우|| 1h:05m || 114 lines || java || ["EightQueenProblem/이선우"] ||
         ||최봉환|| 2h:30m || 71 lines || C++ || ["EightQueenProblem/최봉환"] ||
         ||이창섭|| 1h:9m || 73 lines || C++ || ["EightQueenProblem/이창섭"] ||
         ||이강성|| 1h:50 || 36 lines || python || ["EightQueenProblem/이강성"] ||
         ||햇병아리|| 10h:50m || 111 lines || C || ["EightQueenProblem/햇병아리"] ||
         ||kulguy|| 10h:00m || 229 lines || java || ["EightQueenProblem/kulguy"] ||
         ||김형용|| 8h:00m || 115 lines (+ 63 line for testcode. total 178 lines) || python || ["EightQueenProblem/김형용"]||
         ||서상현|| 2h:18m || 62 lines || C || ["EightQueenProblem/서상현"] ||
         ||강인수|| || 67 lines/ 28 lines || C++/python || ["EightQueenProblem/강인수"] ||
         ||민강근|| . || . || . ||[8queen/민강근]||
         ||손동일|| . || . || . ||[8queen/손동일]||
         ||문원명|| . || . || . ||[8queen/문원명]||
  • EightQueenProblem/강석천 . . . . 53 matches
          self.bd = QueenBoard ()
          def testSetQueen (self):
          self.bd.SetQueen (2,2)
          self.bd.SetQueen (1,1)
          self.bd.SetQueen (2,2)
          self.bd.SetQueen (7,7)
          self.bd.SetQueen (2,2)
          def testFindQueenInSameVertical (self):
          self.bd.SetQueen (2,2)
          self.assertEquals (self.bd.FindQueenInSameVertical (2), 1)
          self.assertEquals (self.bd.FindQueenInSameVertical (3), 0)
          def testFindQueenInSameHorizonal (self):
          self.bd.SetQueen (2,2)
          self.assertEquals (self.bd.FindQueenInSameHorizonal (2), 1)
          self.assertEquals (self.bd.FindQueenInSameHorizonal (3), 0)
          def testFindQueenInSameCrossLeftTopToRightBottom (self):
          self.bd.SetQueen (2,2)
          self.assertEquals (self.bd.FindQueenInSameCrossLeftTopToRightBottom (3,3), 1)
          self.assertEquals (self.bd.FindQueenInSameCrossLeftTopToRightBottom (1,1), 1)
          self.assertEquals (self.bd.FindQueenInSameCrossLeftTopToRightBottom (4,1), 0)
  • EightQueenProblemSecondTryDiscussion . . . . 53 matches
         우.. 그리고 여전히 테스트 코드를 생각하기 어려웠던 부분이 실제 Queen 을 놓는 부분인데요. 다음과 같이 코드를 나열하고 재귀호출 부분에 대해서 유도를 하는 방법을 시도해봤습니다. 일종의 수열 찾는 방법이 되더군요. 음.. 이 부분에 대해서는 EightQueenProblem 에 대한 하나의 해를 알아놓고 시작한다면 TDD를 시도할 수 있을것 같다는 생각이 들긴 하는데. (문제는, 답을 구해놓고 나서야 이 생각이 났더라는. --;)
          * 하고 나니 아쉬웠던점 - 여유가 있었는데, 만들고 나니 기존에 생각했었던 방법과 비슷하게 되어버렸다는 점. 좀 더 여유를 가지고, 현재 생각한 방법 자체가 복잡한 방법이 아닐까 생각하면서 더 쉬운방법을 생각해낼 수 있었을텐데.. 다른 사람들의 소스를 보니 Queen에 대한 대각선 처리 알고리즘 부분이 훨씬 더 단순하게 할 수 있겠더라는.
         def MakeEightQueen (self, Level):
          self.SetQueen (UnAttackablePosition0)
          self.EraseQueen (UnAttackablePosition0)
          self.SetQueen (UnAttackablePosition1)
          self.EraseQueen (UnAttackablePosition1)
          self.SetQueen (UnAttackablePosition2)
          eq = QueenBoard ()
          self.EightQueenList.append (eq)
          def MakeEightQueen (self, Level):
          eq = QueenBoard ()
          self.EightQueenList.append (eq)
          self.SetQueen (UnAttackablePosition[0], UnAttackablePosition[1])
          if not self.MakeEightQueen (Level + 1):
          self.EraseQueen (UnAttackablePosition)
         EightQueenProblemDiscussion 에서 지적해주신 것처럼, '''OOP를 써보자'''라는 목표로 다시 작성해보았더니, 디자인상의 고려 때문인지, 저녁시간이라 뇌력의 소모 때문인지는 몰라도 오히려 시간이 더 늘어버렸습니다. 이번 디자인은 과연 OOP를 제대로 쓴건지 의견을 구합니다.
         디자인하면서, 가장 의문이 들었던 부분이 출력과 관계된 부분이었습니다. EightQueenProblem 자체가 출력이 필요한 문제인지, 아닌지로 시작된 고민에.. 결국 '출력이 필요하다' 라고 결론을 내리게 되어, 출력을 원할경우, 인자로 출력 소스를 넘겨주면 지시한 곳으로 출력하고, 부가적으로 output format을 지원하는 방식을 채택하였습니다.
         ["EightQueenProblem/이선우2"]
         제가 보기에 현재의 디자인은 class 키워드만 빼면 절차적 프로그래밍(procedural programming)이 되는 것 같습니다. 오브젝트 속성은 전역 변수가 되고 말이죠. 이런 구성을 일러 God Class Problem이라고도 합니다. AOP(Action-Oriented Programming -- 소위 Procedural Programming이라고 하는 것) 쪽에서 온 프로그래머들이 자주 만드는 실수이기도 합니다. 객체지향 분해라기보다는 한 거대 클래스 내에서의 기능적 분해(functional decomposition)가 되는 것이죠. Wirfs-Brock은 지능(Intelligence)의 고른 분포를 OOD의 중요요소로 뽑습니다. NQueen 오브젝트는 그 이름을 "Manager"나 "Main''''''Controller"로 바꿔도 될 정도로 모든 책임(responsibility)을 도맡아 하고 있습니다 -- Meyer는 하나의 클래스는 한가지 책임만을 제대로 해야한다(A class has a single responsibility: it does it all, does it well, and does it only )고 말하는데, 이것은 클래스 이름이 잘 지어졌는지, 얼마나 구체성을 주는지 등에서 알 수 있습니다. (Coad는 "In OO, a class's statement of responsibility (a 25-word or less statement) is the key to the class. It shouldn't have many 'and's and almost no 'or's."라고 합니다. 만약 이게 자연스럽게 되지않는다면 클래스를 하나 이상 만들어야 한다는 얘기가 되겠죠.) 한가지 가능한 지능 분산으로, 여러개의 Queen 오브젝트와 Board 오브젝트 하나를 만드는 경우를 생각해 볼 수 있겠습니다. Queen 오브젝트 갑이 Queen 오브젝트 을에게 물어봅니다. "내가 너를 귀찮게 하고 있니?" --김창준
  • EightQueenProblemDiscussion . . . . 41 matches
         EightQueenProblem을 풀면서 혹은 푸는데 실패하면서 얻은 ThreeFs를 이야기해 봅시다.
          def testSetQueen (self):
          self.bd.SetQueen (2,2)
          self.bd.SetQueen (1,1)
          self.bd.SetQueen (2,2)
          self.bd.SetQueen (7,7)
          self.bd.SetQueen (2,2)
          def testFindQueenInSameVertical (self):
          self.bd.SetQueen (2,2)
          self.assertEquals (self.bd.FindQueenInSameVertical (2), 1)
          self.assertEquals (self.bd.FindQueenInSameVertical (3), 0)
          def testFindQueenInSameHorizonal (self):
          self.bd.SetQueen (2,2)
          self.assertEquals (self.bd.FindQueenInSameHorizonal (2), 1)
          self.assertEquals (self.bd.FindQueenInSameHorizonal (3), 0)
          def testFindQueenInSameCrossLeftTopToRightBottom (self):
          self.bd.SetQueen (2,2)
          self.assertEquals (self.bd.FindQueenInSameCrossLeftTopToRightBottom (3,3), 1)
          self.assertEquals (self.bd.FindQueenInSameCrossLeftTopToRightBottom (1,1), 1)
          self.assertEquals (self.bd.FindQueenInSameCrossLeftTopToRightBottom (4,1), 0)
  • EightQueenProblem/정수민 . . . . 40 matches
         = EightQueenProblem.h =
         #ifndef EIGHTQUEENPROBLEM_H_
         #define EIGHTQUEENPROBLEM_H_
         class EightQueenProblem
          bool ContraryQueen(); //퀸들을 늘려가는함수
          EightQueenProblem();
          void MakeQueen(); //퀸을 늘려가기 시작하는 함수
         = EightQueenProblem.cpp =
         // EightQueenProblem 이라는 문제를 풀이한 소스코드 //
         #include "EightQueenProblem.h"
         EightQueenProblem::EightQueenProblem () {
         void EightQueenProblem::MakeQueen () {
          if ( ContraryQueen () == 0 ) { //0은 다음단계로 1은 리셋
         bool EightQueenProblem::ContraryQueen () {
         void EightQueenProblem::SketchMap () {
         bool EightQueenProblem::SearchMap () {
         void EightQueenProblem::reset () {
         void EightQueenProblem::PrintMap () {
         #include "EightQueenProblem.h"
          EightQueenProblem test;
  • EightQueenProblem2 . . . . 39 matches
         EightQueenProblem을 아직 해결하지 않은 분은 이 페이지를 '''절대로''' 읽지 마세요.
         EightQueenProblem을 해결하신 것을 축하드립니다. EightQueenProblem 페이지에 개발 시간과 소스 라인 수 등을 기록하셨나요? 사실 문제는 하나가 더 있습니다. 대부분의 프로그래밍 숙제/대회는 코드의 디자인은 잘 따지지 않습니다. 하지만 실세계의 문제에서는 코드의 적응도(adaptability)가 매우 중요한 요소가 됩니다. 자신이 작성한 프로그램이 얼마나 새로운 요구사항에 잘 적응을 하는지를 보면, 자신이 얼마나 디자인을 제대로 혹은 엉망으로 했는지 알 수 있습니다. 디자인 질에 대한 바로미터가 되는 것이죠.
         새 문제는 다음과 같습니다. 자신이 작성한 프로그램을 수정을 해서, EightQueenProblem의 일반적인 문제를 푸는 것입니다. 즉, 8X8에서 8개의 여왕을 배치하는 서로 다른 모든 해법(총 92가지)을 구하는 것입니다.
         EightQueenProblem에서와 마찬가지로 프로그램 작성 후에 다음 칸을 채워주세요.
         ||["이덕준"]|| 4m || 73 lines ["EightQueenProblem2/이덕준소스"]|| C++ ||
         ||["최태호"]|| 4m || 69 lines ["EightQueenProblem/최태호소스"]|| C++ ||
         ||최봉환|| 24m || 86 lines ["EightQueenProblem2/최봉환"] || C++ ||
         ||이강성|| 15m || 43 lines ["EightQueenProblem2/이강성"] || python ||
         ||강인수|| || 67 lines/28 lines ["EightQueenProblem/강인수"] || C++/python ||
         ||icarus|| 5m || 40 lines [" Eight Queen Problem/lasy0901"] || C++ ||
         ||nextream|| 0.1m || 21 lines ["EightQueenProblem/nextream"] 에서 check(1)을 check(0)으로 || Javascript ||
         ||da_answer|| 5m || 135 lines ["EightQueenProblem/da_answer"] showMessage부분을 리커시브 안쪽으로 이동 || Delphi ||
         ||밥벌레|| 37m || 197 lines ["EightQueenProblem/밥벌레"] || Delphi ||
         ||김준엽|| 65m || 71 lines ["EightQueenProblem/김준엽"] || C++ ||
         ||안정원|| 1m || 6 lines ["EightQueenProblem/안정원"] || Python ||
         see also EightQueenProblem2Discussion
         만약 이 모든 것을 완료했고, 뭔가 더 도전할 것을 찾는다면, N-Queens Problem을 풀면 됩니다. (요구사항의 또 다른 변화! :( ) NXN 체스판에서 N개의 여왕을 배치하는 프로그램이 되도록 수정하는 겁니다.
         이러한 변형 N-Queen 문제는 어떻습니까? http://eunjae85.new21.org/problem11/problem11.htm 입력값은 n과 h이고, 한 퀸이 h개까지 다른 퀸을 공격할 수 있게 하는 것입니다. h=0 이면 보통 N-Queen 문제가 되지요. --아무개.
         선택사항 : EightQueenProblemSecondTry
  • EightQueenProblem/김형용 . . . . 33 matches
         class Queen:
          oldQueen = map[self.x][tempy]
          if oldQueen != 0 and oldQueen != self.name:
          return oldQueen
          oldQueen = map[tempx][self.y]
          if oldQueen != 0 and oldQueen != self.name:
          return oldQueen
          oldQueen = map[tempx][tempy]
          if oldQueen !=0 and oldQueen != self.name:
          return oldQueen
          oldQueen = map[tempx][tempy]
          if oldQueen !=0 and oldQueen != self.name:
          return oldQueen
          q = movePreviousQueen(q, name-1)
         def movePreviousQueen(q, name):
         def makeQueensDontFight():
          q[name] = Queen(name)
         class TestEightQueenProblem(unittest.TestCase):
          q1 = Queen(1)
          q1=Queen(1);q2=Queen(2)
  • EightQueenProblem/Leonardong . . . . 32 matches
         class EightQueen:
          def setQueen(self, aRow, aCol):
          self.setQueen(row, col)
         class EightQueenTestCase(unittest.TestCase):
          def defaultQueen(self):
          q = EightQueen()
         ## q = self.defaultQueen()
          def testSetQueen(self):
          q = self.defaultQueen()
          q.setQueen(row, col)
          q = self.defaultQueen()
          q.setQueen(row, col)
          q = self.defaultQueen()
          q.setQueen(row, col)
          q.setQueen(row, col)
          q = self.defaultQueen()
          q.setQueen(row, col)
          q.setQueen(row, col)
          q.setQueen(row, col)
          q.setQueen(row, col)
  • EightQueenProblem/임인택/java . . . . 19 matches
         class Queen
          int QUEEN;
          int Queen[][];
          Queen(int noq)
          QUEEN=noq;
          Queen = new int[QUEEN][QUEEN];
          for(int i=0; i<QUEEN; i++)
          get_Queen(i,0);
          public void get_Queen(int x, int y)
          Queen[x][y]=1;
          if(y==QUEEN-1) print_result();
          for(int i=0; i<QUEEN; i++)
          get_Queen(i,y+1);
          Queen[x][y]=0;
          for(i=0; i<QUEEN; i++)
          for(j=0; j<QUEEN; j++)
          System.out.print(Queen[j][i] + " ");
          for(i=0; i<QUEEN; i++)
          for(j=fromline; j<QUEEN; j++)
          Queen[i][j]=0;
  • EightQueenProblem/이선우2 . . . . 18 matches
         == NQueen2.java ==
         public class NQueen2
          public static final char DEFAULT_QUEEN_MARK = 'Q';
          private char queenMark;
          private NQueen2() {}
          public NQueen2( int size ) throws Exception
          if( size < 1 ) throw new Exception( NQueen2.class.getName() + "- size must be greater than 0." );
          queenMark = DEFAULT_QUEEN_MARK;
          public void setOutputFormat( final char boardMark, final char queenMark, final char lineBreak )
          this.queenMark = queenMark;
          setQueens();
          setQueens();
          private void setQueens()
          setQueenAt( 0 );
          private void setQueenAt( int line )
          if( isValidQueens() ) {
          if( out != null ) printQueen();
          setQueenAt( line + 1 );
          private boolean isValidQueens()
          private void printQueen()
  • EightQueenProblem/임인택 . . . . 17 matches
         n-Queen 모델에도 적용 가능합니다~
          8bit == 1byte 라는 생각을 하고 비트연산만으로 할 수 있을것 같다는 생각을 하였다. 하지만 이 경우는 n-Queen 으로까지 확장하기까지 힘들고 간단한 index 로 값을 참조할수 있는 배열에 비해 비능률적인 방법이다. 단지 속도가 조금 빠를 것으로 믿었는데.. 빨라봤자 얼마나 빠르겠어.--;
          처음에 시작 call 을 좀 이상하게 한다. loop 을 돌면서 첫번째 라인의 원소에 대한 get_Queen()함수를 호출한다. 생각에는 get_Queen(0,0); 처럼 호출하는게 가장 이상적이라고 생각하는데..--;
         #define QUEEN 8
         int Queen[QUEEN][QUEEN]={0};
         void get_Queen(int x, int y);
          for(int i=0; i<QUEEN; i++)
          get_Queen(i,0);
         void get_Queen(int x, int y)
          Queen[x][y]=1;
          if(y==QUEEN-1) print_result();
          for(int i=0; i<QUEEN; i++)
          get_Queen(i,y+1);
          Queen[x][y]=0;
          for(i=0; i<QUEEN; i++)
          for(j=0; j<QUEEN; j++)
          cout << Queen[j][i] << " ";
          for(i=0; i<QUEEN; i++)
          for(j=fromline; j<QUEEN; j++)
          Queen[i][j]=0;
  • EightQueenProblem/최봉환 . . . . 17 matches
         struct QUEEN{
         bool MARK(QUEEN Pt);
          QUEEN history[8];
          int nQueens=0;
          while(!bOk || nQueens<8){
          for(i=0;i<nQueens;i++) MARK(history[i]);
          bOk=MARK(history[nQueens]);
          if(nQueens!=7) history[nQueens+1]=history[nQueens];
          nQueens++;
          if(++history[nQueens].x==8){
          history[nQueens].x=0;
          if(++history[nQueens].y==8){
          nQueens--;
          }while(history[nQueens].x==7 && history[nQueens].y==7);
          if((++history[nQueens].x)==8){
          history[nQueens].x=0;
          history[nQueens].y++;
         bool MARK(QUEEN Pt){
  • EightQueenProblem/이선우3 . . . . 16 matches
         package suwlee.game.nqueen;
         package suwlee.game.nqueen;
         == Queen.java ==
         package suwlee.game.nqueen;
         import suwlee.game.nqueen.Point;
         public class Queen extends Chessman
          public Queen()
          public Queen( int x, int y )
         package suwlee.game.nqueen;
         package suwlee.game.nqueen;
         import suwlee.game.nqueen.Board;
          if( chessman instanceof Queen ) System.out.print( "Q" );
         == NQueenPlayer.java ==
         n-Queens Problem을 해결하는 플레이어. 자신이 생각하는 알고리즘(여기서는 play 메소드)에 따라 보드에 체스 말 중, 퀸을 배열하고 올바른지 확인한다.
         package suwlee.game.nqueen;
         public class NQueensPlayer
          public NQueensPlayer() {}
          setQueen( 0 );
          private void setQueen( int y )
          Chessman chessman = new Queen();
  • EightQueenProblem/kulguy . . . . 14 matches
         === QueensProblem.java ===
         public class QueensProblem
          // to run, prompt>java QueensProblem x
          QueensProblem problem = new QueensProblem(Integer.parseInt(args[0]));
          public QueensProblem(int queensNum)
          this.queensNum = queensNum;
          board = new Chessboard(queensNum);
          if (index == queensNum)
          Queen queen = new Queen(point);
          board.locate(queen);
          private int queensNum;
          queens = new Stack();
          public void locate(Queen queen)
          if (!queen.canAttack(point))
          queens.push(queen);
          queens.pop();
          Iterator iter = queens.iterator();
          Queen queen = (Queen)iter.next();
          buff.append(queen.getPoint().toString());
          private Stack queens;
  • EightQueenProblem2Discussion . . . . 12 matches
         EightQueenProblem2를 풀면서 혹은 푸는데 실패하면서 얻은 ThreeFs 공유, 토론
         처음 문제를 해결할 때, 아무 어려움이나 장애도 없었나요? 지금 뒤돌아볼 때에 자신이 거친 과정 중에 "개선되었으면 하는 부분"이 있나요? 만약 이 문제를 다시 처음부터 새로 풀기 시작한다면 역시 똑같은 방식으로 프로그래밍을 할 것 같습니까(see also EightQueenProblemSecondTry)? 조금 더 깔끔하고 쌈박하게 푸는 방법도 있을까요? 어떻게 처음에 접근했더라면 더 "깨끗한" 코드가 나올 수 있었을까요? 비슷한 문제에 직면했을 때 일반적으로 적용할 수 있는 어떤 "추상적 패러다임" 같은 것을 발견할 수 있을까요? 그 코드를 난생 처음 보는 사람이 있다고 했을 때 몇 분만에 그 코드를 이해시킬 수 있겠습니까? 만약 그 사람 혼자 그 코드를 본다면 쉽게 이해할 수 있을까요? 주석이 없이도요? 혹시 코드 내에 중복되는 정보는 없습니까? 본인의 의도가 모두 분명히 드러나고 있습니까? --김창준
         이미 알고리즘 수업 시간을 통해 생각해본 문제이기에 주저없이 백트래킹(BackTracking) 기법을 선택해서 슈도코드를 종이에 작성해보았고 그를 바탕으로 구현에 들어갔습니다.(''그냥 호기심에서 질문 하나. 알고리즘 수업에서 백트래킹을 배웠나요? 최근에는 대부분 AI쪽으로 끄집어 내서 가르치는 것이 추세입니다만... 교재가 무엇이었나요? --김창준 Foundations of Algorithms Using C++ Pseudocode, Second Edition 이었습니다. ISBN:0763706205 --이덕준'') 백트래킹은 BruteForce식 알고리즘으로 확장하기에 용이해서 수정엔 그리 많은 시간이 걸리지 않았습니다. 만일 EightQueenProblem에 대한 사전 지식이 없었다면 두번째 과제에서 무척 당황했을것 같습니다. 이번 기회에 코드의 적응도도 중요함을 새삼 확인했습니다. --이덕준
         저는 뭐 아무것도 없이 문제만 보고 뛰어들었습니다. 일단 두번의 실패 (자세한 내용은 EightQueenProblemDiscussion)이후 세번째로 잡은 생각은 일단 한줄에 한개만 말이 들어간다는 점이었습니다. 그 점에 착안하여. 8*8의 모든 점을 돌게 만들었습니다. 좀 비효율적인데다가 아주 엉망인 소스 덕분에.. 문제는 풀었지만.. 수정/보완에 엄청난 시간이 걸리더군요(종료조건을 찾을수가 없었다는.. 그래서 수정에 30분 이상 걸렸습니다.) 후...... 이래저래 많은 생각을 하게 한 소스였습니다. ㅡ.ㅡ;; 왠지 더 허접해 진 느낌은.. --선호
         저는 일단 10*10배열을 만들었습니다.(경계선 생각하면 귀찮아지므로..) 그다음에 1~8까지 랜덤한 수를 두번 찾아서 보드의 아무 위치에다 Queen상수를 찍어줍니다. 그리고 그 주변의 8방향을 또 다른 상수 Other로 설정해줍니다. 이제 루프 돌면서 겹치지 않게 골라주면서 Queen으로 설정해주다가 8개가 되면 종료하게.. --인수
         어제 서점에서 ''Foundations of Algorithms Using C++ Pseudocode''를 봤습니다. 알고리즘 수업 시간에 백트래킹과 EightQueenProblem 문제를 교재를 통해 공부한 사람에게 이 활동은 소기의 효과가 거의 없겠더군요. 그럴 정도일줄은 정말 몰랐습니다. 대충 "이런 문제가 있다" 정도로만 언급되어 있을 주 알았는데... 어느 교재에도 구체적 "해답"이 나와있지 않을, ICPC(ACM의 세계 대학생 프로그래밍 경진대회) 문제 같은 것으로 할 걸 그랬나 봅니다. --김창준
  • EightQueenProblem/밥벌레 . . . . 11 matches
         procedure SetQueens(n: Integer); // 퀸 배치하기. 이 소스의 핵심함수. n은 현재 사용안한다. 처음엔 RandomSeed로 쓰려했음..-_-;
         function CheckQueens: Boolean; // 제대로 배치되었는지 검사하는 함수.
         procedure DrawQueens;
          DrawQueens;
          SetQueens(n);
          DrawQueens;
          until CheckQueens;
         procedure FindAllQueens;
          if CheckQueens then
          DrawQueens;
          FindAllQueens;
  • EightQueenProblem2/이덕준소스 . . . . 10 matches
         bool EightQueens(int level, int queens[]);
         bool Promissing(int level, int queens[]);
         bool WellPutted(int level1, int level2, int queens[]);
         void PrintResult(int queens[]);
          int queens[8],i;
          for (i=0;i<8;i++) queens[i]=0;
          EightQueens(0,queens);
         bool EightQueens(int level, int queens[])
          queens[level]=i;
          if (Promissing(level,queens))
          PrintResult(queens);//return true;
          EightQueens(level+1,queens);
         bool Promissing(int level, int queens[])
          if (!WellPutted(i,level,queens))
         bool WellPutted(int level1, int level2, int queens[])
          if (queens[level1]==queens[level2])
          if (abs(queens[level1]-queens[level2]) == level2 - level1)
         void PrintResult(int queens[])
          cout<<queens[i]<<" ";
         ["EightQueenProblem"]
  • EightQueenProblemSecondTry . . . . 10 matches
         EightQueenProblem를 마치셨나요? 이하는 선택사항입니다.
         이번에는 소스코드를 모두 삭제하고, 맨땅에서 다시 시작을 합니다. EightQueenProblem을 만족하는(즉 하나의 해법만 얻는) 프로그램을 다시 한번 작성합니다. 자신이 처음 EightQueenProblem을 풀면서 얻었던 통찰(insight)만을 이용하고, 가능하면 더 깔끔한 해답을 얻으려고 노력하면서 말이죠.
         ||임인택|| 2h:00m||0h:10m || ||75 || 93 || || C++ || java || || ["EightQueenProblem/임인택/java"] ||
         see also EightQueenProblemSecondTryDiscussion
  • PNGFileFormat/FormatUnitTestInPythonLanguage . . . . 9 matches
          def testFirstEightBytes(self):
          #eightBytesFromFile = self.png.firstEightBytes()
          eightBytes = [137,80,78,71,13,10,26,10]
          eightBytesFromFile = self.png.firstEightBytes()
          self.assertEqual( chr(eightBytes[i]), eightBytesFromFile[i] )
          # Height
          imageHeight = ord(chunkInfo[2][4]) * (256**3)
          imageHeight += ord(chunkInfo[2][5]) * (256**2)
          imageHeight += ord(chunkInfo[2][6]) * (256**1)
          imageHeight += ord(chunkInfo[2][7])
          self.assertEqual(im.size[1], imageHeight)
          self.leadingEightBytes = None
          self.firstEightBytes()
          self.data = None; self.width = None; self.height = None; self.bitDepth = None
          def firstEightBytes(self):
          if self.leadingEightBytes == None:
          self.leadingEightBytes = self.f.read(8)
          return self.leadingEightBytes
          def makeInfo(self, chunk): #width, height 등의 정보 얻기
          # Height
  • EightQueenProblem/이덕준소스 . . . . 8 matches
         bool EightQueens(int level, int queens[]);
         bool Promissing(int level, int queens[]);
         bool WellPutted(int level1, int level2, int queens[]);
          int queens[8],i;
          for (i=0;i<8;i++) queens[i]=0;
          if (EightQueens(0,queens))
          cout<<queens[i]<<" ";
         bool EightQueens(int level, int queens[])
          queens[level]=i;
          if (Promissing(level,queens))
          if (EightQueens(level+1,queens))
         bool Promissing(int level, int queens[])
          if (!WellPutted(i,level,queens)) //if (!WellPutted(i,j,queens))
         bool WellPutted(int level1, int level2, int queens[])
          if (queens[level1]==queens[level2])
          if (abs(queens[level1]-queens[level2])==abs(level2 - level1))
  • EightQueenProblem/이선우 . . . . 7 matches
         == NQueen.java ==
         public class NQueen
          public static final char QUEEN_MARK = 'Q';
          private NQueen() {}
          public NQueen( int sizeOfBoard )
          if( board[i] == j ) System.out.print( QUEEN_MARK );
          NQueen nq = new NQueen( Integer.parseInt( args[0] ));
          System.out.println( "Usage: java NQueen size_of_queen" );
  • StepwiseRefinement . . . . 6 matches
          * EightQueenProblem2Discussion : EightQueenProblem, EightQueenProblem2에 적용해 보면 많은 것을 배울 수 있다.
  • 데블스캠프2010 . . . . 6 matches
          || 10 || 박성현 || Eight Queen 문제(Pair Programming) || 전 시간대 가능 ||
          || 1시 ~ 3시 || [박성현] || [wiki:데블스캠프2010/첫째날/오프닝 오프닝] || [김수경] || [wiki:데블스캠프2010/Prolog Prolog] || [박성현] || [wiki:EightQueenProblem Eight Queen] || [강성현] || [wiki:데블스캠프2010/넷째날/DHTML DHTML] || [변형진] || [wiki:데블스캠프2010/다섯째날/ObjectCraft ObjectCraft] ||
  • EightQueenProblem/김준엽 . . . . 5 matches
          void applyQueen(int x, int y)
         void find8Queen(ChessBoard& cboard, int y)
          cboard.applyQueen(x, y);
          find8Queen(cboard, y+1);
          find8Queen(cboard, 0);
  • EightQueenProblem/허아영 . . . . 5 matches
         #define QUEEN_MAX_NUM 8
          unsigned int queenNum = 0;
          bool isMaxQueen = false;
          while(!isMaxQueen)
          if(queenNum == QUEEN_MAX_NUM)
          isMaxQueen = true;
         [허아영] [EightQueenProblem]
  • WikiTextFormattingTestPage . . . . 5 matches
          * Eighth level, preceded by <tab><tab><tab><tab><tab><tab><tab><tab>*<space>, appears indented 32 spaces with a solid square bullet.
          * Eighth level
          * Eighth level
          1. Eighth level
          1. Eighth level
         '''Weighted horizontal lines.'''
         In at least one wiki (which? ''PikiPiki, and thus MoinMoin''), the weight (thickness) of the lines increases based on the number of dashes (starting at 4 dashes).
         End of line weight test.
  • EightQueenProblem/강인수 . . . . 4 matches
         class NQueen:
          queen = NQueen(8)
          queen.traverse(0)
         ["EightQueenProblem"]
  • EightQueenProblem/조현태2 . . . . 4 matches
         [EightQueenProblem] [EightQueenProblem/조현태]
  • EightQueenProblem2/이강성 . . . . 4 matches
         class EightQueen:
          self.queens = []
          self.queens.append( (x, y) )
          print self.queens
          self.solutions.append(self.queens[:])
          self.queens.pop()
          self.queens.pop()
          e = EightQueen()
  • ProgrammingContest . . . . 4 matches
         현재 EightQueenProblem의 변형을 볼 수 있다.
         만약 문제 이해 시간을 포함 (혼자서) 40분 이내에 R1과 R2 모두에 대해 정답을 구했다면 (2000년도 본선문제였습니다. 같은 사이트 Problem Archive에 정답이 있습니다) 아마 10위권 이내에 들 실력이라고 사료됩니다. 아마 EightQueenProblem을 (사전 정보 없이) 한 시간 안에 푼 사람이라면 10위권 안에 충분히 들 수 있을 것 같습니다.
  • ZeroPageEvents . . . . 4 matches
         || . || ["EightQueenProblem"] || Online Event. ["EightQueenProblem"] 문제 풀기 & 토론 || 무수; ||
  • 새싹스터디2006/의견 . . . . 4 matches
         따라서 지금 위키 구조를 잘 이용해 필요한 정보는 제로페이지 위키에, 각 소그룹으로 진행하는 내용은 개인 위키에 정리하면 좋겠습니다. 나중에 정리할 필요 없는 시간 약속, 출석 체크, 메시지 전달 들을 개인 위키에서 진행하면 되겠죠. 단 숙제를 내면 반 이름의 하위페이지를 만들기보다, [EightQueenProblem]처럼 정보를 모을 수 있을 것입니다. 이로써 현재 미약한 개인 위키 사용이 늘어날 것이고, 덤으로 사용자가 위키 카페 구조에 익숙해지는 효과도 얻을 것 같습니다. -- [Leonardong]
          물론 그렇게 할 겁니다. .[EightQueenProblem] 뿐만 아니라 여러 문제분류에서 모든 문제들 페이지 처럼 작성하는것이 도움이 된다고 생각하기때문에 생각도 했습니다. [LittleAOI] 문제를 하나씩 풀어보는 방식을 취하는것도 좋다고 생각합니다. 아직 이르지 만요.. (제 반은 일주일 후에나 할 수 있을거 같습니다)
  • CheckTheCheck/문보창 . . . . 3 matches
         int Queen(int row, int col, char enemy);
          check = Queen(i, j, enemy);
         int Queen(int row, int col, char enemy)
  • EightQueenProblem/이준욱 . . . . 3 matches
         void checkQueen(int depth)
          checkQueen(depth + 1);
          checkQueen(0);
  • 데블스캠프2003/둘째날/후기 . . . . 3 matches
          * 아직.. 3시 50분 벌써부터 졸리다... 오늘은 8queen 에 도전을 했지만 결국 실패했고,,, 그 결과...모든걸 포기하게 되었다... 그래도 점점 무엇인가 알아가는 거 같다.. 8quee에 성공했으면 좋으렸만.... ㅡㅜ;; 내일은 더 열씸히 머리를 굴려서.. 꼭 하나를 완성해야겠다...
          * 으... 결국 EightQueenProblem의 해결에 실패했습니다. 2학년이나 되가지고 쪽팔리게스리... 대각선 처리가 문제군요. 어쨌든 반드시 해결해야겠군요... -영동
          *8Queen 5시간 도전끝에 결국 포기하고 스택과 큐밖에 못했다. 언젠간 성공할테야 -- -- 재선[aekae]
  • 8queen/강희경 . . . . 2 matches
         [EightQueenProblem]
  • 8queen/곽세환 . . . . 2 matches
         [EightQueenProblem]
  • 8queen/문원명 . . . . 2 matches
         [EightQueenProblem] ["문원명"]
  • 8queen/민강근 . . . . 2 matches
         [EightQueenProblem]
  • 8queen/손동일 . . . . 2 matches
         8queen
         [EightQueenProblem] [손동일]
  • CheckTheCheck/곽세환 . . . . 2 matches
         bool QueenCheck(int y, int x, int side)
          if (QueenCheck(y, x, side))
  • DoItAgainToLearn . . . . 2 matches
         see also EightQueenProblemSecondTry
  • EightQueenProblem/nextream . . . . 2 matches
         == 8queen.html (javascript) ==
         EightQueenProblem
  • EightQueenProblem/이창섭 . . . . 2 matches
         ["EightQueenProblem"]
  • EightQueenProblem/조현태 . . . . 2 matches
         [EightQueenProblem]
  • MFCStudy_2002_1 . . . . 2 matches
          * ["EightQueenProblem"] OOP 로 해오십시오. 다음 모임은 8/29 오전 11:00 입니다. ["프로그래밍잔치"] 전에 잠깐 모여서 마지막 모임을 가집시다. ^^
  • snowflower . . . . 2 matches
         ||["EightQueenProblem/이선호"]|| _ || _ ||
  • 데블스캠프2003/셋째날/후기 . . . . 2 matches
          * 여러가지 언어를 접하고 보니 사고를 넓혀야 겠다는 생각과 언어적 개념이 중요하다는 사실을 깨달았다. [RandomWalk]는 [마방진],[EightQueenProblem]에 이어 다시금 좌절을 안겨 주었다. 다음엔 무엇에 좌절할 것인가.. --황재선[aekae]
  • 데블스캠프2010/셋째날/후기 . . . . 2 matches
         == Eight Queen (강사: 박성현) ==
  • 데블스캠프2010/회의록 . . . . 2 matches
         == Eight Queen (강사 : [박성현]) ==
  • 문제풀이게시판 . . . . 2 matches
          정확히 이해가 안가지만, ["문제분류"] 중에 있는 EightQueenProblem , ["가위바위보"] 같은 문제의 ["지도분류"]와 같은 여정을 만들어 놓는건가요? 아, 게시판을 만든다는 이야기군요. --NeoCoin
  • 서상현 . . . . 2 matches
          * ["EightQueenProblem/서상현"]
  • 타도코코아CppStudy/0804 . . . . 2 matches
         || ZeroWiki:EightQueenProblem || . || . || . ||
  • 타도코코아CppStudy/0811 . . . . 2 matches
         || ZeroWiki:EightQueenProblem || . || . || . ||
  • 허아영 . . . . 2 matches
         [EightQueenProblem/허아영]
  • CheckTheCheck . . . . 1 match
          Queen King Knight
  • EightQueenProblem/용쟁호투 . . . . 1 match
         = 파워빌더 소스(eightqueenproblem.sra) =
         $PBExportHeader$eightqueenproblem.sra
         global type eightqueenproblem from application
         global type eightqueenproblem from application
         string appname = "eightqueenproblem"
         global eightqueenproblem eightqueenproblem
         Integer il_attack [8,8] , il_limit = 1, il_queen_count = 1
         public function boolean wf_create_queen ()
         public function boolean wf_create_queen ();Integer li_x,li_y
         Do While il_queen_count <= 8
          il_queen_count = 1
          is_solution[il_queen_count] = 'Queen No : ' + String(il_queen_count) + ' / X : ' + String(li_x) + ' / Y : ' + String(li_y)
          il_queen_count++
         on eightqueenproblem.create
         appname="eightqueenproblem"
         on eightqueenproblem.destroy
         IF NOT wf_create_queen() THEN GOTO NS
  • EightQueenProblem/용쟁호투SQL . . . . 1 match
         IF EXISTS(SELECT name FROM sysobjects WHERE name = N'temp_queen_attack' AND type = 'U') DROP TABLE temp_queen_attack
         CREATE TABLE temp_queen_attack(
          TRUNCATE TABLE temp_queen_attack
          INSERT INTO temp_queen_attack VALUES(1,0,0,0,0,0,0,0,0,0,0)
          INSERT INTO temp_queen_attack VALUES(2,0,0,0,0,0,0,0,0,0,0)
          INSERT INTO temp_queen_attack VALUES(3,0,0,0,0,0,0,0,0,0,0)
          INSERT INTO temp_queen_attack VALUES(4,0,0,0,0,0,0,0,0,0,0)
          INSERT INTO temp_queen_attack VALUES(5,0,0,0,0,0,0,0,0,0,0)
          INSERT INTO temp_queen_attack VALUES(6,0,0,0,0,0,0,0,0,0,0)
          INSERT INTO temp_queen_attack VALUES(7,0,0,0,0,0,0,0,0,0,0)
          INSERT INTO temp_queen_attack VALUES(8,0,0,0,0,0,0,0,0,0,0)
          FROM temp_queen_attack
         IF @x = 1 UPDATE temp_queen_attack SET x1 = 1
         IF @x = 2 UPDATE temp_queen_attack SET x2 = 1
         IF @x = 3 UPDATE temp_queen_attack SET x3 = 1
         IF @x = 4 UPDATE temp_queen_attack SET x4 = 1
         IF @x = 5 UPDATE temp_queen_attack SET x5 = 1
         IF @x = 6 UPDATE temp_queen_attack SET x6 = 1
         IF @x = 7 UPDATE temp_queen_attack SET x7 = 1
         IF @x = 8 UPDATE temp_queen_attack SET x8 = 1
  • 영호의해킹공부페이지 . . . . 1 match
         qn25 - | qn25-01.saix.net | Queenstown dial up
  • 이영호/끄적끄적 . . . . 1 match
          i==10?"Jack":i==11?"Queen":i==12?"King":i==13?"Ace":itoa_buf,
  • 정모/2011.4.11 . . . . 1 match
          * 이번 정모에는 11학번 학우분들이 참여하여 반가웠습니다. Ice Breaking때는 화기애애한 분위기가 마음에 들었습니다. 다들 웃으면서 ㅎㅎ 재미있는 시간이었던 것 같습니다. 일일 퍼실리테이터... 어떤 느낌일지는 모르겠지만 한번 해 보는 것도 재밌지 않을까라는 생각도 했습니다. 이번 OMS를 진행하면서.. 음... 역시 배경이 문제였었던 같습니다 -ㅅ-;; 그리고 생각했던거 보다 머리속에 있는 말이 입 밖으로 잘 나오지를 않아가지고 제가 생각했던 것들을 모두 전달하지 못했던 것 같습니다. 사실 음악을 좋아하다 보니까 영화나 TV를 보다가 아는 음악이 나오면 혼자 반가워 하고 그랬는데,, 그 안에 있는 의미를 찾아보는 일은 많이 하지 않았었습니다. 다만, 이런걸 해 보겠다고 생각했던게 아이언맨 2 보다가 (보여드렸던 장면에서) 처음에는 Queen의 You're my Best Friend라는 노래로 생각하고 저 장면과 되게 모순이다라고 생각했었는데 그 노래가 아니라 다른 노래라 조금 당황했던 것도 있고, 노래 가사를 보면서 아 이런 의미가 있을 수도 있겠구나 라는 생각을 했습니다. 그래서 이것 저것 찾아보게 되었던 것이 계기가 되었던 것 같습니다. 그리고 이번 스피드 퀴즈는 그동한 제로페이지에서 했던 것들이 많았구나 라는 생각과 함께, 제가 설명하는데 윤종하 게임이 나올줄이야 이러면서 -ㅅ-;; ㅋㅋㅋ 마지막으로 다음주 소풍 기대되네요 ㅋ - [권순의]
Found 62 matching pages out of 7544 total pages (5000 pages are searched)

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
Processing time 1.5937 sec