))ﺑﻪ ﻧﺎم ﺧﺪاوﻧﺪ ﺑﺨﺸﻨﺪه ي ﻣﻬﺮﺑﺎن (( ﺗﻤﺮﻳﻦ ﺷﻤﺎره ي 2درس ﻃﺮاﺣﻲ اﻟﮕﻮرﻳﺘﻤﻬﺎ ﻣﻬﻠﺖ ﺗﺤﻮﻳﻞ ﺗﻤﺮﻳﻦ 1387/1/23 :ﺳﺎﻋﺖ 23:59 )(Divide And Conquer ﻣﻼﺣﻈﺎت : اﻳﻦ ﺗﻤﺮﻳﻦ ﻫﻢ داراي ﻗﺴﻤﺘﻬﺎي ﺗﺌﻮري و ﻫﻢ ﻋﻤﻠﻲ اﺳﺖ .ﭘﺎﺳﺦ ﻗﺴﻤﺘﻬﺎي ﺗﺌﻮري و ﻋﻤﻠﻲ را در ﻗﺎﻟﺐ ﻳﻚ ﻓﺎﻳﻞ ﻓﺸﺮده ﺑﻪ ﻧﺎم Ex2-yourID.zipﺑﻪ آدرس [email protected]ﻣﻴﻞ ﻛﻨﻴﺪ .ﻋﻨﻮان ﭘﺴﺖ اﻟﻜﺘﺮوﻧﻴﻜﻲ ﻧﻴﺰ Ex2-yourIDﺑﺎﻳﺪ ﺑﺎﺷﺪ. ﺑﻪ ﻫﻴﭻ وﺟﻪ ﻛﺎر ﻫﺎي ﻏﻴﺮ اﺧﻼﻗﻲ ﻣﺜﻞ روﻧﻮﻳﺴﻲ و ﻛﭙﻲ ﺑﺮﻧﺎﻣﻪ ي دﻳﮕﺮان و ....ﭘﺬﻳﺮﻓﺘﻪ ﻧﻴﺴﺖ .درﺻﻮرت ﻣﺸﺎﻫﺪه ﻧﻤﺮه ي ﺷﻤﺎ -100در ﻧﻈﺮﮔﺮﻓﺘﻪ ﻣﻲ ﺷﻮد) .اﮔﺮ ﺗﻤﺮﻳﻨﺎت را ﺑﺎ ﻫﻢ ﻣﻲ ﻧﻮﻳﺴﻴﺪ ﺳﻌﻲ ﻛﻨﻴﺪ ﻃﺮﻳﻖ ﻧﻮﺷﺘﻦ ﺷﻤﺎ ﻣﺎﻧﻨﺪ ﻳﻜﺪﻳﮕﺮ ﻧﺒﺎﺷﺪ .ﭼﻮن در ﺻﻮرت ﻣﺸﺎﺑﻬﺖ ﺑﺎ وﺟﻮد ﺑﻲ ﮔﻨﺎﻫﻲ ،ﮔﻨﺎﻫﻜﺎر ﺷﻨﺎﺧﺘﻪ ﺧﻮاﻫﻴﺪ ﺷﺪ و ﻧﻤﺮه ي ﺧﻮد را از دﺳﺖ ﺧﻮاﻫﻴﺪ داد( ﺑﻪ ﻫﻴﭻ وﺟﻪ زﻣﺎن ﺗﺤﻮﻳﻞ اﻳﻦ ﺗﻤﺮﻳﻦ ﺗﻤﺪﻳﺪ ﻧﻤﻲ ﺷﻮد .ﺑﻪ ازاي ﻫﺮﺳﺎﻋﺖ ﺗﺎﺧﻴﺮ 20ﻧﻤﺮه )از 100ﻧﻤﺮه( را از دﺳﺖ ﻣﻲ دﻫﻴﺪ. -ﻫﺮ ﮔﻮﻧﻪ ﺳﻮال و ﻣﺸﻜﻠﻲ و ﻳﺎ اﻳﺮادي را ﻣﻲ ﺗﻮاﻧﻴﺪ ﺑﺎ [email protected]در ﻣﻴﺎن ﺑﮕﺬارﻳﺪ. -1ﺷﺒﻜﻪ ﻫﺎي ﻣﻮازي ﺟﺎﻳﮕﺸﺖ ﺳﺎز ☺ ﻛﻠﻴﺪ ﺑﺎ دو ورودي و دو ﺧﺮوﺟﻲ را ﻣﻲ ﺗﻮان در دو ﻣﻮﻗﻌﻴﺖ ﻣﺨﺘﻠﻒ ﻗﺮار داد. در ﺷﻜﻞ ﺑﻌﺪي ﻃﺮح ارﺗﺒﺎط ﺑﺎ 3ورودي و 3ﺧﺮوﺟﻲ داده ﺷﺪه اﺳﺖ .ﻛﻪ وﻳﮋﮔﻲ ﻫﻤﻪ ﻛﺎره ﺑﻮدن را دارد :ﺑﺎ ﺗﻐﻴﻴﺮ دادن وﺿﻊ ﻛﻠﻴﺪ ،ﻣﻲ ﺗﻮان ﺑﻪ ﻫﺮﻳﻚ از ! 3ﺣﺎﻟﺘﻲ ﻛﻪ ﻣﻲ 3ورودي را ﺑﻪ 3ﺧﺮوﺟﻲ ﻣﻲ ﺑﺮد رﺳﻴﺪ ﻳﻌﻨﻲ : ﻳﻚ ﺷﺒﻜﻪ ي ﻫﻤﻪ ﻛﺎره: ♠ ﻃﺮح ﻣﺮﺑﻮط ﺑﻪ ﻳﻚ ﺷﺒﻜﻪ ي ﻫﻤﻪ ﻛﺎره ﺑﺎ 4ورودي و 4ﺧﺮوﺟﻲ را ﺑﺴﺎزﻳﺪ .ﻳﻌﻨﻲ اﻣﻜﺎن ﻫﺮﻳﻚ از 24اﺗﺼﺎل ﻣﻤﻜﻦ ورودي ﻫﺎ و ﺧﺮوﺟﻲ ﻫﺎ را ﻓﺮاﻫﻢ ﺑﺴﺎزد. ♣ ﺣﺪاﻗﻞ ﺗﻌﺪاد ﻛﻠﻴﺪﻫﺎﻳﻲ ﻛﻪ ﺑﺮاي اﺗﺼﺎل اﻳﻦ ﻃﺮح ﻻزم اﺳﺖ ﭼﻘﺪر اﺳﺖ؟ ﺑﺴﺎزﻳﺪ .ﺑﻪ ﻛﻤﻚ اﺳﺘﻘﺮا ﺛﺎﺑﺖ ﻛﻨﻴﺪ ﺷﺒﻜﻪ اي ﻛﻪ ﺳﺎﺧﺘﻪ اﻳﺪ ﻫﻤﻪ ﻛﺎره اﺳﺖ. ورودي و ♥ ﻳﻚ ﺷﺒﻜﻪ ي ﻫﻤﻪ ﻛﺎره ﺑﺎ -2ﻧﻤﺎي ﺷﻬﺮ زﺷﺖ ﺑﺎ آﺳﻤﺎن ﺧﺮاش ﻫﺎي زﺷﺖ ! ☻ ﺗﻌﺪادي آﺳﻤﺎن ﺧﺮاش در ﺷﻬﺮي وﺟﻮددارد .ﻣﻨﻈﺮه ي ﻫﺮ ﻳﻚ از اﻳﻦ آﺳﻤﺎن ﺧﺮاش ﻫﺎ از دور ﺑﻪ ﺷﻜﻞ ﻣﺴﺘﻄﻴﻞ اﺳﺖ .ﻣﺸﺨﺼﺎت اﻳﻦ ﻣﺴﺘﻄﻴﻞ ﻫﺎداده ﺷﺪه اﺳﺖ .ﻣﻲ ﺧﻮاﻫﻴﻢ ﺑﺪاﻧﻴﻢ ﻛﻪ ﻣﻨﻈﺮه ي اﻳﻦ آﺳﻤﺎن ﺧﺮاش ﻫﺎ از دور )ﺑﺎ ﺣﺬف ﺧﻄﻮﻃﻲ ﻛﻪ ﻣﺨﻔﻲ ﻫﺴﺘﻨﺪ( ﺑﻪ ﭼﻪ ﺷﻜﻞ اﺳﺖ .ﺑﺮاي ﻣﺜﺎل ﻧﻤﻮﻧﻪ اي از ورودي و ﺧﺮوﺟﻲ را در ﺷﻜﻞ زﻳﺮ ﻣﻲ ﺑﻴﻨﻴﺪ. ٢ ﻓﺮض ﻛﻨﻴﺪ ﻛﻒ ﺗﻤﺎم ﺳﺎﺧﺘﻤﺎن ﻫﺎ روي ﻳﻚ ﺧﻂ واﻗﻊ ﻫﺴﺘﻨﺪ .آﺳﻤﺎن ﺧﺮاش iام ﺗﻮﺳﻂ 3ﺗﺎﻳﻲ و ﻣﺸﺨﺺ ﻛﻨﻨﺪه ي ﻣﺨﺘﺺ xﻣﺮﺑﻮط ﺑﻪ ﺳﻤﺖ ﭼﭗ و راﺳﺖ ﺳﺎﺧﺘﻤﺎن و ورودي ﻣﺮﺑﻮط ﺑﻪ ﺷﻜﻞ ﺑﺎﻻ ،ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺖ : ﻣﺸﺨﺺ ﻣﻲ ﺷﻮدﻛﻪ ارﺗﻔﺎع ﺳﺎﺧﺘﻤﺎن را ﻣﺸﺨﺺ ﻣﻲ ﻛﻨﺪ .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل )(1،8،3) , (2،9،5), (1،4،7), (11, 6, 14) ,(12،11, 13 ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﻳﺴﻴﺪ ﻛﻪ ﺗﻌﺪاد آﺳﻤﺎن ﺧﺮاش ﻫﺎ و ﻣﺸﺨﺼﺎت آﻧﻬﺎ را از ﻓﺎﻳﻞ ورودي درﻳﺎﻓﺖ ﻛﻨﺪ و ﺧﺮوﺟﻲ را ﺑﻪ ﺻﻮرت ﮔﺮاﻓﻴﻜﻲ ﻧﻤﺎﻳﺶ دﻫﺪ. ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﺷﻜﻞ ﮔﺮاﻓﻴﻜﻲ ﺣﺎﺻﻞ ﺷﻜﻠﻲ ﺗﻮﺧﺎﻟﻲ)زﻣﻴﻨﻪ ي ﺳﻔﻴﺪ رﻧﮓ ﺑﺎ ﺧﻄﻮط رﻧﮕﻲ( اﺳﺖ .ﺗﻌﺪاد ﺳﺎﺧﺘﻤﺎن ﻫﺎ ﺣﺪاﻛﺜﺮ 1000000ﺗﺎﺳﺖ و اﻋﺪاد ﻣﺮﺑﻮط ﺑﻪ ﻣﺸﺨﺼﺎت ﻫﺮ ﻳﻚ از ﺳﺎﺧﺘﻤﺎن ﻫﺎ ﺑﻴﻦ 0ﺗﺎ 10000ﻣﻲ ﺑﺎﺷﺪ. ﻓﺎﻳﻞ ورودي ،ﻓﺎﻳﻞ view.inﻣﻲ ﺑﺎﺷﺪ .در ﺳﻄﺮ اول آن ﺗﻌﺪاد ﺳﺎﺧﺘﻤﺎن ﻫﺎ و در ﺳﻄﺮ ﻫﺎي ﺑﻌﺪي در ﻫﺮ ﺳﻄﺮ ﻣﺸﺨﺼﺎت ﻳﻚ ﺳﺎﺧﺘﻤﺎن ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ .ﺑﻪ ﻣﺜﺎل زﻳﺮ ﺗﻮﺟﻪ ﻛﻨﻴﺪ : ﻓﺎﻳﻞ ﻣﺮﺑﻮط ﺑﻪ ﻛﺪ ﺑﺮﻧﺎﻣﻪ ي ﺧﻮد را در ﻓﺎﻳﻞ view.cppﻳﺎ view.javaﺑﻨﻮﻳﺴﻴﺪ .در ﺻﻮرت اﺳﺘﻔﺎده از C++ﻣﻲ ﺗﻮاﻧﻴﺪ از ﻫﺮ ﻛﺪام از ﻓﻨﺎوري ﻫﺎ ي openGLﻳﺎ DirectXاﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﺪ .ﺑﺮﻧﺎﻣﻪ ي ﺷﻤﺎ ﺑﺎﻳﺪ در زﻣﺎن ﻛﻤﺘﺮ از 5ﺛﺎﻧﻴﻪ ﺟﻮاب ﺑﺪﻫﺪ. ﻓﺎﻳﻞ ﺧﺮوﺟﻲ اي ﻧﻴﺰ اﻳﺠﺎد ﻛﻨﻴﺪ)(view.outﻛﻪ در آن ﻣﺸﺨﺼﺎت ﺷﻜﻞ ﺧﺮوﺟﻲ را ﻧﻮﺷﺘﻪ اﻳﺪ .ﻣﻨﻈﻮر از ﻣﺸﺨﺼﺎت دﻧﺒﺎﻟﻪ اي از اﻋﺪاد ﻣﺎﻧﻨﺪ زﻳﺮ اﺳﺖ : 14و6و13و11و12و6و9و0و7و4و5و9و2و8و1 اﻋﺪادي ﻛﻪ زﻳﺮ آﻧﻬﺎ ﺧﻂ ﻛﺸﻴﺪه ﺷﺪه اﺳﺖ ارﺗﻔﺎع ﻣﻲ ﺑﺎﺷﻨﺪ .ﻣﻌﻨﻲ اﻳﻦ دﻧﺒﺎﻟﻪ اﻳﻦ اﺳﺖ ﻛﻪ از ﻧﻘﻄﻪ x = 1ﺑﺎ ارﺗﻔﺎع 8ﺷﺮوع ﻛﻦ .ﺗﺎ x = 2ﺑﺮو. در آﻧﺠﺎ ارﺗﻔﺎع 9ﻣﻲ ﺷﻮد .ﺗﺎ x = 5ﺑﺮو .در آﻧﺠﺎ ارﺗﻔﺎع 4ﻣﻲ ﺷﻮد .ﺗﺎ x = 7ﺑﺮو .در آﻧﺠﺎ ارﺗﻔﺎع 0ﻣﻲ ﺷﻮد و اﻟﻲ آﺧﺮ .ﺑﻪ ﻋﻨﻮان ﻣﺜﺎﻟﻲ از ﺧﺮوﺟﻲ ﺑﺒﻴﻨﻴﺪ : ٣
© Copyright 2026 Paperzz