2019ÄêÉϰëÄêÈí¼þÉè¼ÆÊ¦ÉÏÎçÏÂÎçÊÔÌâ¼°´ð°¸

ÇëÊäÈë´ð°¸

ÎÊÌ⣺4.3 ¡¾ÎÊÌâ3¡¿(4·Ö)

µ±n=4ʱ£¬ÓÐ (6) ÖÖ°Ú·Å·½Ê½£¬·Ö±ðΪ (7) ¡£

½âÎö:

(1)queen[i]==queen[j]»òÆäµÈ¼ÛÐÎʽ (2)1

(3)Place(j)&&j<=n»òÆäµÈ¼ÛÐÎʽ (4)Nqueen(j+1) »ØËÝ·¨ 2¸ö (2413) (3142)

ÔĶÁÏÂÁÐ˵Ã÷ºÍJava´úÂ룬½«Ó¦ÌîÈë(n)´¦µÄ×Ö¾äдÔÚ´ðÌâÖ½µÄ¶ÔÓ¦À¸ÄÚ¡£ ¡¾ËµÃ÷¡¿

ijÈí¼þ¹«Ë¾Óû¿ª·¢Ò»¿îÆû³µ¾ºËÙÀàÓÎÏ·£¬ÐèҪģÄⳤÂÖÌ¥ºÍ¶ÌÂÖÌ¥¼±É²³µÊ±ÔÚÂ·ÃæÉÏÁôϵIJ»Í¬ºÛ¼££¬²¢¿¼ÂǺóÐøÄÜÄ£Äâ¸ü¶àÖÖÂÖÌ¥¼±É²³µÊ±µÄºÛ¼£¡£ÏÖ²ÉÓòßÂÔ(Strategy)Éè¼ÆÄ£Ê½À´ÊµÏÖ¸ÃÐèÇó£¬ËùÉè¼ÆµÄÀàͼÈçͼ5-1Ëùʾ¡£

¡¾Java ´úÂë¡¿ import java.util.*;

interface BrakeBehavior { public (1);

/* ÆäÓà´úÂëÊ¡ÂÔ */

};

class LongWheelBrake implements BrakeBehavior { public void stop() {

System.out.println( \Ä£ÄⳤÂÖ̥ɲ³µºÛ¼££¡ \}

/* ÆäÓà´úÂëÊ¡ÂÔ */ };

class ShortWheelBrake implements BrakeBehavior { public void stop() {

System.out.println( \Ä£Äâ¶ÌÂÖ̥ɲ³µºÛ¼££¡ \}

/* ÆäÓà´úÂëÊ¡ÂÔ */ };

abstract class Car { protected (2)wheel; public void brake() { (3); }

/* ÆäÓà´úÂëÊ¡ÂÔ */ } :

class ShortWheelCar extends Car {

public ShortWheelCar( BrakeBehavior behavior ) { (4); }

/* ÆäÓà´úÂëÊ¡ÂÔ */ };

class StrategyTest {

public static void main( String[] args )

{

BrakeBehavior brake = new ShortWheelBrake(); ShortWheelCar car1 = new ShortWheelCar( brake ); car1.(5); } }

ÎÊÌ⣺5.1 ½«Ó¦ÌîÈë¿Õ°×´¦µÄ×Ö¾äдÔÚ´ðÌâÖ½µÄ¶ÔÓ¦À¸ÄÚ¡£ ½âÎö:

(1)void stop() (2)BrakeBehavior (3)wheel.stop() (4)behavior.stop() (5)brake()

ÔĶÁÏÂÁÐ˵Ã÷ºÍC++´úÂ룬½«Ó¦ÌîÈë(n)´¦µÄ×Ö¾äдÔÚ´ðÌâÖ½µÄ¶ÔÓ¦À¸ÄÚ¡£ ¡¾ËµÃ÷¡¿

ijÈí¼þ¹«Ë¾Óû¿ª·¢Ò»¿îÆû³µ¾ºËÙÀàÓÎÏ·£¬ÐèҪģÄⳤÂÖÌ¥ºÍ¶ÌÂÖÌ¥¼±É²³µÊ±ÔÚÂ·ÃæÉÏÁôϵIJ»Í¬ºÛ¼££¬²¢¿¼ÂǺóÐøÄÜÄ£Äâ¸ü¶àÖÖÂÖÌ¥¼±É²³µÊ±µÄºÛ¼£¡£ÏÖ²ÉÓòßÂÔ(Strategy)Éè¼ÆÄ£Ê½À´ÊµÏÖ¸ÃÐèÇó£¬ËùÉè¼ÆµÄÀàͼÈçͼ6-1Ëùʾ¡£

¡¾C++´úÂë¡¿

#include using namespace std; class BrakeBehavior { public: (1); /* ÆäÓà´úÂëÊ¡ÂÔ */ }; class LongWheelBrake £º public BrakeBehavior { public: void stop() { cout << \Ä£ÄⳤÂÖ̥ɲ³µºÛ¼£! \} /* ÆäÓà´úÂëÊ¡ÂÔ */ }; class ShortWheelBrake : public BrakeBehavior { public: void stop() { cout << \Ä£Äâ¶ÌÂÖ̥ɲ³µºÛ¼£! \} /* ÆäÓà´úÂëÊ¡ÂÔ */ }; class Car { protected: (2)wheel; public: void brake() { (3); } /* ÆäÓà´úÂëÊ¡ÂÔ */ }; class ShortWheelCar : public Car { public: ShortWheelCar( BrakeBehavior* behavior ) { (4); } /* ÆäÓà´úÂëÊ¡ÂÔ */ }; int main() { BrakeBehavior * brake = new ShortWheelBrake(); ShortWheelCar car1( brake ) : car1.(5); return(0); }

ÎÊÌ⣺6.1 ½«Ó¦ÌîÈë(n)´¦µÄ×Ö¾äдÔÚ´ðÌâÖ½µÄ¶ÔÓ¦À¸ÄÚ¡£ [´ð°¸]

virtual void stop()=0; BrakeBehavior* wheel->stop() behavior->stop() brake()

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)