ﺑﻪ ﻧﺎم ﺧﺪا ﺗﻮﺿﻴﺤﺎت: • ﻧﮑﺎت ذﮐﺮ ﺷﺪﻩ در ﺗﻤﺮﻳﻨﺎت ﻗﺒﻠﯽ را ﺑﻪ ﻃﻮر ﮐﺎﻣﻞ رﻋﺎﻳﺖ ﮐﻨﻴﺪ. • ﺗﻤﺮﻳﻦهﺎ را ﺑﻪ ﺁدرس cpphomework٨٥٢@gmail.comارﺳﺎل ﮐﻨﻴﺪ. • ﻣﻬﻠﺖ ارﺳﺎل ﺗﻤﺮﻳﻦهﺎ ﺗﺎ ﺳﺎﻋﺖ ١٢ﺷﺐ ﺟﻤﻌﻪ ١٣٨٦/٢/١٤ﻣﯽﺑﺎﺷﺪ. • ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﮑﻪ در ﺗﻌﻴﻴﻦ زﻣﺎن ارﺳﺎل ﺗﻤﺮﻳﻦهﺎ اﻣﺘﺤﺎﻧﺎت ﺷﻤﺎ ﻣﺪ ﻧﻈﺮ ﻗﺮار ﮔﺮﻓﺘﻪ ،ﻟﺬا اﻣﮑﺎن ﺗﻤﺪﻳﺪ زﻣﺎن ارﺳﺎل ﺗﻤﺮﻳﻦهﺎ وﺟﻮد ﻧﺪارد. • ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ. ﻣﺴﺌﻠﻪ اول --------------------------------------------------------------------------------------- ﻧﺎم ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪ Dooz.cpp : ﻳﮏ ﺟﺪول m*nدارﻳﻢ .در هﺮ ﺧﺎﻧﻪ ﺁن ﻳﮏ ﻣﻬﺮﻩ رﻧﮕﯽ وﺟﻮد دارد .در هﺮ ﺣﺮﮐﺖ ،ﺗﻤﺎم ﻣﻬﺮﻩ هﺎﻳﯽ ﮐﻪ دوز ﺑﺎﺷﻨﺪ در ﻳﮏ ﻟﺤﻈﻪ ﻧﺎﭘﺪﻳﺪ ﻣﯽ ﺷﻮﻧﺪ .اﮔﺮ در ﻳﮑﯽ از راﺳﺘﺎهﺎﯼ اﻓﻘﯽ ،ﻋﻤﻮدﯼ ﻳﺎ ﻣﻮرب ﺣﺪاﻗﻞ ﺳﻪ ﺧﺎﻧﻪ ﻣﺠﺎور وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ ﮐﻪ ﻣﻬﺮﻩ هﺎﯼ اﻳﻦ ﺧﺎﻧﻪ هﺎ هﻢ رﻧﮓ ﺑﺎﺷﻨﺪ ،ﻣﻬﺮﻩ هﺎﯼ ﺁن ﺧﺎﻧﻪ هﺎ در ﺁن ﻟﺤﻈﻪ دوز هﺴﺘﻨﺪ.ﭘﺲ از ﻧﺎﭘﺪﻳﺪ ﺷﺪن هﻤﻪ ﻣﻬﺮﻩ هﺎﯼ دوز در ﻳﮏ ﻟﺤﻈﻪ ،در هﺮ ﺳﺘﻮن هﻤﻪ ﻣﻬﺮﻩ هﺎ ﭘﺎﻳﻴﻦ ﻣﯽ رﻳﺰﻧﺪ ﺗﺎ زﻳﺮ ﺁن هﺎ ﺧﺎﻧﻪ ﺧﺎﻟﯽ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ .ﺳﭙﺲ دوﺑﺎرﻩ هﻤﻪ ﻣﻬﺮﻩ هﺎﯼ دوز ﺑﻪ ﻃﻮر هﻤﺰﻣﺎن ﻧﺎﭘﺪﻳﺪ ﻣﯽ ﺷﻮﻧﺪ و دوﺑﺎرﻩ ﻋﻤﻞ ﭘﺎﻳﻴﻦ رﻳﺨﺘﻦ ﻣﻬﺮﻩ هﺎ ﺻﻮرت ﻣﯽ ﮔﻴﺮد و اﻳﻦ ﮐﺎر وﻗﺘﯽ ﻣﺘﻮﻗﻒ ﻣﯽ ﺷﻮد ﮐﻪ دﻳﮕﺮ ﻣﻬﺮﻩ دوزﯼ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ .ﺑﺮﻧﺎﻣﻪ اﯼ ﺑﻨﻮﻳﺴﻴﺪ ﮐﻪ وﺿﻌﻴﺖ اوﻟﻴﻪ ﺟﺪول را ﺑﮕﻴﺮد و وﺿﻌﻴﺖ ﻧﻬﺎﻳﯽ ﺁن را ﻣﺸﺨﺺ ﮐﻨﺪ. ورودﯼ در ﺳﻄﺮ اول ورودﯼ اﺑﺘﺪا mو nﺁﻣﺪﻩ اﻧﺪ و ﺑﻌﺪ در mﺳﻄﺮ ﺑﻌﺪﯼ در هﺮ ﺳﻄﺮ nﻋﺪد ﺑﻪ ﻧﺸﺎﻧﻪ رﻧﮓ ﻣﻬﺮﻩ هﺎﯼ ﻳﮏ ﺳﻄﺮ ﺁﻣﺪﻩ اﺳﺖ. ﺧﺮوﺟﯽ در mﺳﻄﺮ وﺿﻌﻴﺖ ﻧﻬﺎﻳﯽ ﺟﺪول را ﺑﻨﻮﻳﺴﻴﺪ .اﮔﺮ در ﻳﮏ ﺧﺎﻧﻪ ﻣﻬﺮﻩ اﯼ وﺟﻮد ﻧﺪاﺷﺖ ﻋﺪد ﺻﻔﺮ را در ﺁن ﺧﺎﻧﻪ ﺑﻨﻮﻳﺴﻴﺪ. ﺗﻮﺿﻴﺤﺎت ورودﯼ و ﺧﺮوﺟﯽ ﺑﺮﻧﺎﻣﻪ اﺳﺘﺎﻧﺪارد ) ﺻﻔﺤﻪ ﮐﻠﻴﺪ و ﻧﻤﺎﻳﺸﮕﺮ ( ﻣﯽ ﺑﺎﺷﻨﺪ .ﻓﺮض ﮐﻨﻴﺪ رﻧﮓ ﻣﻬﺮﻩ هﺎ ﻋﺪدﯼ ﺑﻴﻦ ١ﺗﺎ ١٠٠٠٠٠اﺳﺖ و m،n<١٠٠ﻣﯽ ﺑﺎﺷﻨﺪ. ﻧﻤﻮﻧﻪ ورودﯼ و ﺧﺮوﺟﯽ هﺎ را در زﻳﺮ ﻣﺸﺎهﺪﻩ ﻣﯽ ﮐﻨﻴﺪ : ورودﯼ ﻧﻤﻮﻧﻪ: ﺧﺮوﺟﯽ ﻧﻤﻮﻧﻪ: ٠٠٠٠٠ ٢٠٠٠٠ ٢٠٠٢٠ ٣٢٠٣٠ ٢٢٠٣٢ ٥٥ ٢٢٤٢٣ ٢١٥٤٣ ٥٢١٣٣ ٣٥١١٢ ٢٤١٣١ ﻣﺴﺌﻠﻪ دوم --------------------------------------------------------------------------------------- ١ permute.cpp : ﻧﺎم Input: a number N Output: generate all the different permutations of numbers from ١ to N each in one line, numbers should be separated by ','. :ورودﯼ ﻧﻤﻮﻧﻪ :ﺧﺮوﺟﯽ ﻧﻤﻮﻧﻪ ٣ ١, ٢, ٣ ٢, ٣, ١ ٣, ٢, ١ ١, ٣, ٢ ٣, ١, ٢ ٢, ١, ٣ --------------------------------------------------------------------------------------- ﻣﺴﺌﻠﻪ ﺳﻮم Sort list of topples of the form (i, j) using any algorithm you know without extra memory (you should sort in place). You should first them according to the first number then according to the second number. For sorting you can find min and swap it with the first element and do it for n(size of the list) times and the list will be sorted. You should write two functions. One for sorting the input array and other one for writing sorted array to the output. Input: An integer N denoting the size of the list N lines of the form i, j Output: N lines each containing a topple of the form given in input sorted in ascending order. :ورودﯼ ﻧﻤﻮﻧﻪ :ﺧﺮوﺟﯽ ﻧﻤﻮﻧﻪ ٤ ٥٤ ٣٢ ٥١ ١٢ ١٢ ٣٢ ٥١ ٥٤ ٢
© Copyright 2025 Paperzz