home *** CD-ROM | disk | FTP | other *** search
/ ftp.cse.unsw.edu.au / 2014.06.ftp.cse.unsw.edu.au.tar / ftp.cse.unsw.edu.au / pub / doc / languages / C / ioccc / 1990 / baruch.hint < prev    next >
Encoding:
Text File  |  1992-10-18  |  1.9 KB  |  69 lines

  1. Best Small Program: <baruch@genius.tau.ac.il> Osovlanski & Nissenbaum
  2.  
  3.     Doron Osovlanski
  4.     CADTECH - CAD/CAM Systems Ltd
  5.         24 Ben-Yosef st.
  6.         Givat-Shmuel   51905
  7.     Israel
  8.  
  9.     Baruch Nissenbaum                  BARUCH@TAUNIVM.TAU.AC.IL
  10.     Tel-Aviv University
  11.     The Faculty of Engineering
  12.     Tel-Aviv
  13.     Israel
  14.  
  15.  
  16. Judges' comments:
  17.  
  18.     Compile.  Try:
  19.  
  20.     echo 4 | baruch
  21.     echo 7 | baruch
  22.  
  23.     This program reads an integer between 4 and 99 from the stdin.
  24.  
  25.     NOTE: The original program did not have a newline at the end of
  26.       the file.  We added a final newline to the file to make
  27.       unpacking easy.
  28.  
  29.  
  30. Selected notes from the author:
  31.  
  32.     The goal of this work was to write a program that solves the
  33.     classic n-queen problem, with a board size of up to 99x99, while
  34.     keeping the program as short as possible.
  35.  
  36.     The program finds all possibilities to place N chess queens on
  37.     a NxN chess board so that no queen is in range of any other queen
  38.     (not in the same column row or diagonal).  For each solution the
  39.     chess board and the place of the queens is printed to stdout.
  40.  
  41.  
  42.     This program is about as simple and as readable as possible.
  43.     To make things even more simple we used a very limited subset of C:
  44.  
  45.          No pre-processor statements
  46.          Only one, harmless, 'for' statement
  47.          No ifs
  48.          No breaks
  49.          No cases
  50.          No functions
  51.          No gotos
  52.          No structures
  53.  
  54.     In short, it contains no C language that might confuse the
  55.     innocent reader.  :-)
  56.  
  57.  
  58.     This program demonstrates the claim that in C, any program
  59.     can be written using a single 'for' statement, as long as it is
  60.     long enough..
  61.  
  62. The authors further note:
  63.  
  64.     For PC users:
  65.     In order to compile the program under Turbo-C or MSC, 'int '
  66.     should be inserted at the beginning of the program.
  67.     For better looking results it is recommended to replace the " #Q"
  68.     string with " \261\2".
  69.