Ex1-862-1.pdf

‫ﺗﻤﺮﻳﻦ ﺷﻤﺎرﻩ ‪٢‬‬
‫ﻣﺒﺎﻧﻲ ﺑﺮﻧﺎﻣﻪﺳﺎزي‪ -‬ﮔﺮوﻩ ‪ - ۴‬زﻣﺴﺘﺎن ‪٨۶‬‬
‫از ﺑﻴﻦ ﺗﻤﺎرﻳﻦ زﻳﺮ ‪ ٣‬ﻣﻮرد )داﻧﺸﺠﻮﻳﺎن رﺷﺘﻪ ﮐﺎﻣﭙﻴﻮﺗﺮ ‪ ۴‬ﻣﻮرد( را اﻧﺘﺨﺎب ﮐﺮدﻩ و ﺷﺒﻪآﺪ ﻣﺮﺑﻮط ﺑﻪ ﺁﻧﺮا ﺑﻨﻮﻳﺴﻴﺪ‪ .‬ﻟﻄﻔﺎ ﻣﻮارد‬
‫زﻳﺮ را در ﻧﻈﺮ داﺷﺘﻪ ﺑﺎﺷﻴﺪ‪:‬‬
‫‪ -١‬ﺗﻤﺎﻣﻲ ﻣﺴﺎﻳﻞ را ﺑﺎﻳﺪ از راﻩ ﺣﻞ ﺟﺴﺘﺠﻮي ﮐﻞ ﻓﻀﺎي ﺣﺎﻟﺖ ﺑﻮﺳﻴﻠﻪ ﺷﻤﺎرﻧﺪﻩ ﺣﻞ ﮐﻨﻴﺪ‪.‬‬
‫‪ -٢‬ﺑﺮاي ﺷﺒﻪ ﮐﺪهﺎي ﺧﻮد ﺑﻪ اﻧﺪازﻩ ﮐﺎﻓﻲ ﺗﻮﺿﻴﺤﺎت ﻓﺎرﺳﻲ ﺑﺪهﻴﺪ‪.‬‬
‫‪ -٣‬ﻣﻬﻠﺖ ﺗﻤﺎرﻳﻦ ﺗﺎ اوﻟﻴﻦ ﺟﻠﺴﻪ ﺑﻌﺪ از ﻋﻴﺪ اﺳﺖ‪.‬‬
‫‪ -۴‬ﺣﻞ ﺗﻨﻬﺎ ﻳﮏ ﺳﻮال اﺿﺎﻓﻪ ﻣﻲﺗﻮاﻧﺪ ﻧﻤﺮﻩ اﺿﺎﻓﻪ داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ -۵‬ﮐﭙﻲ ﺑﺮداري ﻧﻤﺮﻩ ﻣﻨﻔﻲ ﺧﻮاهﺪ داﺷﺖ‪.‬‬
‫• ‪ ٨‬وزﻳﺮ‬
‫ﻣﻲﺧﻮاهﻴﻢ ﺗﻤﺎم ﺣﺎﻻﺗﻲ را ﭘﻴﺪا ﮐﻨﻴﻢ ﮐﻪ ‪ n‬وزﻳﺮ در ﺻﻔﺤﻪي ﺷﻄﺮﻧﺞ )‪ n‬در ‪ (n‬ﺑﺪون ﺗﻬﺪﻳ ِﺪ ﻳﮑﺪﻳﮕﺮ ﺟﺎي‬
‫ﺑﮕﻴﺮﻧﺪ‪.‬‬
‫• ﺳﻮدو ﮐﻮ‬
‫ﺑﺎزي ﺳﻮدوﮐﻮ ﺑﻪ اﻳﻦ ﺻﻮرت اﺳﺖ ﮐﻪ در ﻳﮏ ﺟﺪول ‪ ٩‬در ‪ ٩‬ﺑﺎﻳﺪ اﻋﺪاد ‪ ١‬ﺗﺎ ‪ ٩‬را ﺑﻪ ﻧﺤﻮي ﺟﺎي داد ﮐﻪ در‬
‫هﺮ ﺳﻄﺮ و هﺮ ﺳﺘﻮن و ﻣﺮﺑﻊ هﺎي ‪ ٣‬در ‪ ٣‬ﻧﻤﺎﻳﺶ دادﻩ ﺷﺪﻩ در ﺗﺼﻮﻳﺮ ﻋﺪد ﺗﮑﺮاري ﻗﺮار ﻧﮕﻴﺮد‪ .‬ﻣﻲﺧﻮاهﻴﻢ ﺑﺎ‬
‫داﺷﺘﻦ ﺗﻌﺪادي از ﺧﺎﻧﻪ هﺎي ﺟﺪول ﺳﻮدوﮐﻮ )ﻣﺎﻧﻨﺪ ﺷﮑﻞ ﺳﻤﺖ راﺳﺖ( ﺳﺎﻳﺮ ﺧﺎﻧﻪ هﺎي ﺟﺪول را ﭘﺮ ﮐﻨﻴﻢ )ﺳﻤﺖ‬
‫ﭼﭗ(‪ .‬ﺗﻮﺟﻪ ﺷﻮد ﻣﺴﺎﻟﻪ ﺑﺎﻳﺪ در ﺣﺎﻟﺖ ﮐﻠﻲ ﺣﻞ ﺷﻮد ﻧﻪ ﺑﺮاي اﻳﻦ ﻣﺜﺎل ﺧﺎص‪.‬‬
‫‪8‬‬
‫‪4‬‬
‫‪9‬‬
‫‪2‬‬
‫‪5 6‬‬
‫‪2‬‬
‫‪4‬‬
‫‪8 9 1‬‬
‫‪5‬‬
‫‪1‬‬
‫‪3‬‬
‫‪7‬‬
‫‪9 1‬‬
‫‪7 8‬‬
‫‪6 7 8‬‬
‫‪2 3‬‬
‫‪8‬‬
‫‪4 5 6‬‬
‫‪8 9 1‬‬
‫‪3‬‬
‫‪8‬‬
‫‪2 3 4 5‬‬
‫‪9‬‬
‫‪6‬‬
‫‪9‬‬
‫‪6‬‬
‫‪3‬‬
‫‪8‬‬
‫‪5‬‬
‫‪2‬‬
‫‪7‬‬
‫‪4‬‬
‫‪1‬‬
‫‪8‬‬
‫‪5‬‬
‫‪2‬‬
‫‪7‬‬
‫‪4‬‬
‫‪1‬‬
‫‪6‬‬
‫‪3‬‬
‫‪9‬‬
‫‪7‬‬
‫‪4‬‬
‫‪1‬‬
‫‪6‬‬
‫‪3‬‬
‫‪9‬‬
‫‪5‬‬
‫‪2‬‬
‫‪8‬‬
‫‪6‬‬
‫‪3‬‬
‫‪9‬‬
‫‪5‬‬
‫‪2‬‬
‫‪8‬‬
‫‪4‬‬
‫‪1‬‬
‫‪7‬‬
‫‪5‬‬
‫‪2‬‬
‫‪8‬‬
‫‪4‬‬
‫‪1‬‬
‫‪7‬‬
‫‪3‬‬
‫‪9‬‬
‫‪6‬‬
‫‪4‬‬
‫‪1‬‬
‫‪7‬‬
‫‪3‬‬
‫‪9‬‬
‫‪6‬‬
‫‪2‬‬
‫‪8‬‬
‫‪5‬‬
‫‪3‬‬
‫‪9‬‬
‫‪6‬‬
‫‪2‬‬
‫‪8‬‬
‫‪5‬‬
‫‪1‬‬
‫‪7‬‬
‫‪4‬‬
‫‪2‬‬
‫‪8‬‬
‫‪5‬‬
‫‪1‬‬
‫‪7‬‬
‫‪4‬‬
‫‪9‬‬
‫‪6‬‬
‫‪3‬‬
‫‪1‬‬
‫‪7‬‬
‫‪4‬‬
‫‪9‬‬
‫‪6‬‬
‫‪3‬‬
‫‪8‬‬
‫‪5‬‬
‫‪2‬‬
‫• ﺑﺰرﮔﺘﺮﻳﻦ ﮔﺮوﻩ ﺁﺷﻨﺎﻳﺎن‬
‫از ﻣﻴﺎن ‪ N‬ﻧﻔﺮ ﻣﻲﺧﻮاهﻴﻢ ﺑﻴﺸﺘﺮﻳﻦ ﺗﻌﺪاد اﻓﺮادي را ﭘﻴﺪا ﮐﻨﻴﻢ ﮐﻪ ﺗﻤﺎﻣﻲ اﻓﺮاد اﻳﻦ ﮔﺮوﻩ دو ﺑﻪ دو ﺑﺎ هﻢ ﺁﺷﻨﺎ‬
‫ﺑﺎﺷﻨﺪ‪ .‬ورودي ﺷﻤﺎ ﻳﮏ ﻣﺎﺗﺮﻳﺲ ‪ ٢‬ﺑﻌﺪي اﺳﺖ ﮐﻪ اﮔﺮ ﺧﺎﻧﻪ )‪ (i,j‬ﺁن ﻳﮏ ﺑﺎﺷﺪ ﻧﻔﺮ ‪i‬ام ﺑﺎ ﻧﻔﺮ‪j‬ام ﺁﺷﻨﺎ اﺳﺖ و اﮔﺮ‬
‫ﺻﻔﺮ ﺑﺎﺷﺪ ﻧﻔﺮ ‪i‬ام ﺑﺎ ﻧﻔﺮ‪j‬ام ﺁﺷﻨﺎ ﻧﻴﺴﺖ‪ .‬ﺧﺮوﺟﻲ هﻢ ﻟﻴﺴﺘﻲ از ﺷﻤﺎرﻩ اﻓﺮاد در ﺑﺰرﮔﺘﺮﻳﻦ ﮔﺮوﻩ ﺁﺷﻨﺎﻳﺎن اﺳﺖ‪.‬‬
‫• ﮐﺎﺷﻲ ﮐﺎري!!!‬
‫ﻣﻲﺧﻮاهﻴﻢ ﻳﮏ ﻣﺴﺘﻄﻴﻞ ‪ n‬در ‪ m‬را ﺗﻮﺳﻂ ﻣﻬﺮﻩ هﺎي ﺑﻪ ﺷﮑﻞ زﻳﺮ ﭘﺮ ﮐﻨﻴﻢ ﺑﻪ ﻧﺤﻮي ﮐﻪ هﻴﭻ دو ﻣﻬﺮﻩاي روي‬
‫هﻢ ﻧﻴﻔﺘﻨﺪ و ﮐﻞ ﺻﻔﺤﻪ ﭘﻮﺷﺎﻧﻴﺪﻩ ﺷﻮد‪.‬‬
‫ﻣﺜﺎل زﻳﺮ ﻳﮏ راﻩ ﺑﺮاي اﻧﺠﺎم اﻳﻦ ﮐﺎر را در ﻣﺴﺘﻄﻴﻞ ‪ ٣‬در ‪ ۴‬ﻧﺸﺎن ﻣﻲدهﺪ‪ .‬واﺿﺢ اﺳﺖ راﻩهﺎي دﻳﮕﺮي هﻢ‬
‫ﺑﺮاي اﻳﻦ ﮐﺎر در ﻣﺴﺘﻄﻴﻞ ‪ ٣‬در ‪ ۴‬وﺟﻮد دارد‪ .‬و هﻤﻴﻦ ﻃﻮر ﺑﺮاي ﺑﺮﺧﻲ ﻣﺴﺘﻄﻴﻠﻬﺎ راهﻲ ﺑﺮاي ﭘﻮﺷﺎﻧﻴﺪن ﺁن ﺑﺎ‬
‫اﻳﻦ ﻣﻬﺮﻩ هﺎ وﺟﻮد ﻧﺪارد‪ .‬ﺷﺒﻪ ﮐﺪي ﺑﻨﻮﻳﺴﻴﺪ ﮐﻪ ﺗﻌﺪاد راهﻬﺎي ﻣﻤﮑﻦ ﺑﺮاي اﻳﻨﮑﺎر را ﻣﺤﺎﺳﺒﻪ ﮐﻨﺪ‪.‬‬
‫• ﻣﻴﻬﻤﺎﻧﻲ ﭘﺮ دردﺳﺮ‬
‫‪ N‬ﻧﻔﺮ را ﺑﻪ ﻣﻴﻬﻤﺎﻧﻲ دﻋﻮت ﮐﺮدﻩ اﻳﺪ ﮐﻪ هﺮ ﻳﮏ ﺣﺎﺿﺮ ﺑﻪ ﻧﺸﺴﺘﻦ در ﮐﻨﺎر ﺑﺮﺧﻲ از ‪ N-1‬ﻧﻔﺮ دﻳﮕﺮ ﻧﻴﺴﺘﻨﺪ‪.‬‬
‫ﻣﻲﺧﻮاهﻴﺪ اﻳﻦ اﻓﺮاد را ﺑﻪ ﻧﺤﻮي دور ﻳﮏ ﻣﻴﺰ ﮔﺮد ﺑﻨﺸﺎﻧﻴﺪ‪ ،‬ﮐﻪ اﻓﺮادي ﮐﻪ ﺑﺎ ﻳﮑﺪﻳﮕﺮ ﻣﺸﮑﻞ دارﻧﺪ ﮐﻨﺎر هﻢ‬
‫ﻗﺮار ﻧﮕﻴﺮﻧﺪ‪ .‬ورودي ﺷﻤﺎ ﻳﮏ ﻣﺎﺗﺮﻳﺲ ‪ ٢‬ﺑﻌﺪي اﺳﺖ ﮐﻪ اﮔﺮ ﺧﺎﻧﻪ )‪ (i,j‬ﺁن ﻳﮏ ﺑﺎﺷﺪ ﻧﻔﺮ ‪i‬ام ﺑﺎ ﻧﻔﺮ‪j‬ام ﻣﺸﮑﻞ‬
‫دارد و اﮔﺮ ﺻﻔﺮ ﺑﺎﺷﺪ ﻧﻔﺮ ‪i‬ام ﺑﺎ ﻧﻔﺮ‪j‬ام ﻣﺸﮑﻞ ﻧﺪارد‪ .‬ﺧﺮوﺟﻲ هﻢ ﺗﺮﺗﻴﺐ ﻧﺸﺴﺘﻦ اﻓﺮاد اﺳﺖ‪.‬‬
‫ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ‪.‬‬
‫ﻣﻮﺳﻮي‬