ﺑﻪ ﻧﺎﻡ ﺧﺪﺍﻭﻧﺪ ﺑﺨﺸﺎﻳﻨﺪﻩﯼ ﻣﻬﺮﺑﺎﻥ ﺗﻤﺮﻳﻦ ﺳﺮﯼ ﺳﻮﻡ ﻣﺒﺎﻧﯽ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﯽ ﻣﻬﻠﺖ ﺍﺭﺳﺎﻝ ۱۲ :ﻧﻴﻤﻪ ﺷﺐ ۸۶/۹/۳۰ ﺗﻮﺿﻴﺤﺎﺕ : o ﻗﺒﻞ ﺍﺯ ﺷﺮﻭﻉ ﻣﻮﺍﺭﺩ ﺯﻳﺮ ﺭﺍ ﺑﻪ ﺩﻗﺖ ﺑﺨﻮﺍﻧﻴﺪ . o ﺑﻌﺪ ﺍﺯ ﻧﻮﺷﺘﻦ ﻫﻤﻪ ﺑﺮﻧﺎﻣﻪﻫﺎ ،ﻫﻤﻪ ﺁﻥﻫﺎ ﺭﺍ ﺩﺭ ﻳﮏ ﻓﻮﻟﺪﺭ ﺑﺎ ﻧﺎﻡ hw3_stdIDﻗﺮﺍﺭ ﺩﻫﻴﺪ) ﮐﻪ ﺩﺭ ﺁﻥ stdIDﺷﻤﺎﺭﻩ ﺩﺍﻧﺸﺠﻮﻳﯽ ﺷﻤﺎ ﻼ hw3_87654321 :ﻭ ﺳﭙﺲ ﺍﻳﻦ ﻓﻮﻟﺪﺭ ﺭﺍ ﻓﺸﺮﺩﻩ ﮐﻨﻴ ﺪ . ١ﻓﺎﻳﻞ ﻓﺸﺮﺩﻩ ﺷﺪﻩ ﺭﺍ ﺑﻪ ﺁﺩﺭﺱ ﻣﯽ ﺑﺎﺷﺪ (.ﻣﺜ ً [email protected]ﺍﺭﺳﺎﻝ ﻧﻤﺎﻳﻴﺪ . o ﻋﻨﻮﺍﻥ ﺍﻳﻤﻴﻞ ﺑﺎﻳﺪ ﺑﻪ ﺻﻮﺭﺕ hw3_stdIDﺑﺎﺷﺪ ،ﮐﻪ ﺩﺭ ﺁﻥ stdIDﺷﻤﺎﺭﻩ ﺩﺍﻧﺸﺠﻮﻳﯽ ﺷﻤﺎ ﻣﯽ ﺑﺎﺷﺪ . o ﺍﺷﺘﺒﺎﻩ ﺩﺭ ﻧﺎﻡﮔﺬﺍﺭﯼ ﻓﺎﻳﻞ ﺑﺮﻧﺎﻣﻪﻫﺎ ﻭ ﻓﺎﻳﻞ ﻓﺸﺮﺩﻩ ﺷﺪﻩ ﻭ ﻳﺎ ﻋﻨﻮﺍﻥ ﺍﻳﻤﻴﻞ ﻓﺮﺳﺘﺎﺩﻩ ﺷﺪﻩ ،ﻣﻮﺟﺐ ﻋﺪﻡ ﺗﺼﺤﻴﺢ ﺗﻤﺮﻳﻦ ﺷﻤﺎ ﻣﯽﺷﻮﺩ . o ﻓﺮﻣﺖ ﻭﺭﻭﺩﯼ ﻭ ﺧﺮﻭﺟﯽ ﺑﺮﻧﺎﻣﻪﻫﺎﯼ ﺷﻤﺎ ﺑﺎﻳﺪ ﺩﻗﻴﻘ ًﺎ ﺑﻪ ﺻﻮﺭﺕ ﮔﻔﺘﻪ ﺷﺪﻩ ﺩﺭ ﻣﺴﺌﻠﻪ ﺑﺎﺷﺪ ،ﺩﺭ ﻏﻴﺮ ﺍﻳﻦ ﺻﻮﺭﺕ ﭼﻮﻥ ﺑﺮﻧﺎﻣﻪﻫﺎﯼ ﺷﻤﺎ ﺑﻪ ﺻﻮﺭﺕ ﺧﻮﺩﮐﺎﺭ ﺗﺼﺤﻴﺢ ﻣﯽ ﺷﻮﺩ ،ﺧﺮﻭﺟﯽ ﺑﺮﻧﺎﻣﻪﯼ ﺷﻤﺎ ﺑﺎ ﺧﺮﻭﺟﯽ ﺑﺮﻧﺎﻣﻪﯼ ﻣﺼﺤﺢ ﻣﻨﻄﺒﻖ ﻧﺨﻮﺍﻫﺪ ﺑﻮﺩ . o ﺑﻪ ﺑﺮﻧﺎﻣﻪﻫﺎﯼ ﻣﺸﺎﺑﻪ ﺑﻪ ﻣﻴﺰﺍﻥ ﻧﻤﺮﻩ ﺳﻮﺍﻝ ،ﻧﻤﺮﻩ ﻣﻨﻔﯽ ﺗﻌﻠﻖ ﺧﻮﺍﻫﺪ ﮔﺮﻓﺖ . o ﺩﺭ ﭘﻨﺎﻩ ﺣﻖ . ١ﺑﺮاﯼ اﻳﻦ ﮐﺎر ﮐﺎﻓﯽ اﺳﺖ روﯼ ﻓﻮﻟﺪر ﮐﻠﻴﮏ راﺳﺖ ﮐﻨﻴﺪ و از ﻣﻨﻮﯼ ﺑﺎز ﺷﺪﻩ Send toو ﺳﭙﺲ Compressed (Zipped) Folder را اﻧﺘﺨﺎب ﮐﻨﻴﺪ .ﺑﺎ اﻳﻦ ﮐﺎر ﻳﮏ ﻓﺎﻳﻞ ﺑﻪ ﻧﺎم hw3_stdID.zipﺳﺎﺧﺘﻪ ﻣﯽ ﺷﻮد . ﺗﻤﺮﻳﻦ determinant.cpp :۱ ﺑﺮﻧﺎﻣﻪﺍﯼ ﺑﻨﻮﻳﺴﻴﺪ ﮐﻪ ﺩﺭﺍﻳﻪﻫﺎﯼ ﻳﮏ ﻣﺎﺗﺮﻳﺲ ۲ﺑﻌﺪﯼ n×nﺭﺍ ﺍﺯ ﻭﺭﻭﺩﯼ ﺩﺭﻳﺎﻓﺖ ﮐﻨﺪ ﻭ ﺩﺗﺮﻣﻴﻨﺎﻥ ﺁﻥ ﺭﺍ ﻣﺤﺎﺳﺒﻪ ﻭ ﭼﺎﭖ ﮐﻨﺪ .ﻣﺤﺎﺳﺒﻪﯼ ﺩﺗﺮﻣﻴﻨﺎﻥ ﺭﺍ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺗﺎﺑﻊ ﺑﺎﺯﮔﺸﺘﯽ ﭘﻴﺎﺩﻩﺳﺎﺯﯼ ﮐﻨﻴﺪ .ﻣﯽﺩﺍﻧﻴﻢ ﮐﻪ: (‐1)i+j × M[n‐1][n‐1](i,j), 0 < i=const <= n ∑Det(A[n][n]) = ﮐﻪ ﺩﺭ ﺁﻥ Mﻣﺎﺗﺮﻳﺲ ﮐﻬﺎﺩ Aﺑﻪ ﺍﺯﺍﯼ ﺳﻄﺮ iﻭ ﺳﺘﻮﻥ jﺍﺳﺖ . ﺑﺮﺍﯼ ﻭﺭﻭﺩﯼ ﺩﺭ ﺳﻄﺮ ﺍﻭﻝ ﻋﺪﺩ nﻭ ﺩﺭ ﻫﺮ ﻳﮏ ﺍﺯ nﺳﻄﺮ ﺑﻌﺪ n ،ﻋﺪﺩ ﺍﻋﺸﺎﺭﯼ ﺑﺨﻮﺍﻧﻴﺪ. ﺩﺭ ﺧﺮﻭﺟﯽ ﻣﻘﺪﺍﺭ ﺩﺗﺮﻣﻴﻨﺎﻥ ﺭﺍ ﺩﺭ ﻳﮏ ﺳﻄﺮ ﭼﺎﭖ ﮐﻨﻴﺪ. Sample Output Sample Input 4.0 3 0.0 1.0 2.0 3.0 2.0 3.0 2.0 3.0 4.0 ﺗﻤﺮﻳﻦ queens.cpp :2 ﻫﺪﻑ ﭘﻴﺪﺍ ﮐﺮﺩﻥ ﺭﺍﻩﺣﻠﯽ ﺑﺮﺍﯼ ﭼﻴﺪﻥ nﻭﺯﻳﺮ ﺩﺭ ﺻﻔﺤﻪﯼ ﺷﻄﺮﻧﺞ (n>=8) n×nﺍﺳﺖ ﺑﻪ ﻧﺤﻮﯼ ﮐﻪ ﻫﻴﭻ ﺩﻭ ﻭﺯﻳﺮﯼ ﻳﮑﺪﻳﮕﺮ ﺭﺍ ﺗﻬﺪﻳﺪ ﻧﮑﻨﻨﺪ .ﺑﺮﺍﯼ ﺍﻳﻦ ﮐﺎﺭ ﺍﺯ ﺭﻭﺵ ﮐﻤﺘﺮﻳﻦ ﻣﻘﺪﺍﺭ ﺑﺎﻗﯽﻣﺎﻧﺪﻩ ﺍﺳﺘﻔﺎﺩﻩ ﻣﯽﮐﻨﻴﻢ .ﺑﻪ ﺍﻳﻦ ﺗﺮﺗﻴﺐ ﮐﻪ: .۱ ﻫﺮ ﺳﺘﻮﻥ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﻳﮏ ﻋﻨﺼﺮ ﺩﺭ ﻧﻈﺮ ﻣﯽﮔﻴﺮﻳﻢ ﮐﻪ ﺑﺎﻳﺪ ﻳﮏ ﻭﺯﻳﺮ ﺭﺍ ﺩﺭ ﻳﮑﯽ ﺍﺯ ﺳﻄﺮﻫﺎﻳﺶ ﻗﺮﺍﺭ ﺩﻫﻴﻢ. .۲ ﻭﺯﻳﺮ ﺍﻭﻝ ﺭﺍ ﺩﺭ ﺳﻄﺮ ﺍﻭﻝ ﺍﺯ ﺳﺘﻮﻥ ﺍﻭﻝ ﻗﺮﺍﺭ ﻣﯽﺩﻫﻴﻢ . .۳ ﺣﺎﻝ ﺑﺮﺍﯼ ﻫﺮ ﺳﺘﻮﻥ ﺗﻌﺪﺍﺩ ﺧﺎﻧﻪﻫﺎﻳﯽ ﺍﺯ ﺁﻥ ﺭﺍ ﮐﻪ ﺗﻬﺪﻳﺪ ﻧﻤﯽﺷﻮﻧﺪ ﻣﯽﺷﻤﺎﺭﻳﻢ . .۴ ﺑﺮﺍﯼ ﻣﺮﺣﻠﻪﯼ ﺑﻌﺪ ،ﺳﺘﻮﻧﯽ ﺭﺍ ﮐﻪ ﮐﻤﺘﺮﻳﻦ ﺧﺎﻧﻪﯼ ﺍﻣﻦ ﺭﺍ ﺩﺍﺭﺩ ﺑﺮﻣﯽﮔﺰﻳﻨﻴﻢ ﻭ ﻳﮏ ﻭﺯﻳﺮ ﺭﺍ ﺩﺭ ﺍﻭﻟﻴﻦ ﺳﻄﺮ ﺍﻣﻦ ﺁﻥ ﻗﺮﺍﺭ ﻣﯽﺩﻫﻴﻢ . .۵ ﻣﺮﺍﺣﻞ ۳ﻭ ۴ﺭﺍ ﺗﮑﺮﺍﺭ ﻣﯽﮐﻨﻴﻢ ﺗﺎ : .aﺩﺭ ﻫﺮ ﺳﺘﻮﻥ ﻳﮏ ﻭﺯﻳﺮ ﺩﺭ ﺧﺎﻧﻪﻫﺎﯼ ﺍﻣﻦ ﻗﺮﺍﺭ ﮔﻴﺮﺩ .ﮐﻪ ﮐﺎﺭ ﺗﻤﺎﻡ ﺍﺳﺖ ﻭ ﻣﺨﺘﺼﺎﺕ ﻭﺯﻳﺮﺍﻥ ﺭﺍ ﭼﺎﭖ ﻣﯽﮐﻨﻴﻢ . .bﻳﺎ ﺑﻪ ﺟﺎﻳﯽ ﻣﯽﺭﺳﻴﻢ ﮐﻪ ﺩﻳﮕﺮ ﻫﻴﭻ ﺧﺎﻧﻪﯼ ﺍﻣﻨﯽ ﺑﺮﺍﯼ ﺑﻘﻴﻪ ﺳﺘﻮﻥﻫﺎﯼ ﺑﺎﻗﯽ ﻧﻤﺎﻧﺪﻩ .ﻟﺬﺍ ﺁﺧﺮﻳﻦ ﻭﺯﻳﺮﯼ ﺭﺍ ﮐﻪ ﻗﺮﺍﺭ ﺩﺍﺩﻩ ﺑﻮﺩﻳﻢ ﺑﻪ ﺧﺎﻧﻪﯼ ﺍﻣﻦ ﺑﻌﺪﯼ ﺩﺭ ﻫﻤﺎﻥ ﺳﺘﻮﻥ ﻣﻨﺘﻘﻞ ﻣﯽﮐﻨﻴﻢ .ﺍﮔﺮ ﺁﻥ ﺳﺘﻮﻥ ﺩﻳﮕﺮ ﺧﺎﻧﻪﯼ ﺍﻣﻨﯽ ﻧﺪﺍﺭﺩ ﭘﺲ ﺑﺎﻳﺪ ﺑﻪ ﺳﺘﻮﻥ ﻗﺒﻠﯽ ﮐﻪ ﻭﺯﻳﺮﯼ ﺭﺍ ﺩﺭ ﺁﻥ ﻗﺮﺍﺭ ﺩﺍﺩﻩ ﺑﻮﺩﻳﻢ ﺑﺮﻭﻳﻢ ﻭ ﺍﻳﻦ ﮐﺎﺭ ﺭﺍ ﺍﻧﺠﺎﻡ ﺩﻫﻴﻢ ﻭ ﺍﻟﯽ ﺁﺧﺮ . ﺍﮔﺮ ﺩﻭ ﺳﺘﻮﻥ ﺗﻌﺪﺍﺩ ﺧﺎﻧﻪﯼ ﺍﻣﻦ ﻣﺴﺎﻭﯼ ﻭ ﮐﻤﻴﻨﻪ ﺩﺍﺷﺘﻪ ﺑﺎﺷﻨﺪ ،ﺳﺘﻮﻥ ﺑﺎ ﺍﻧﺪﻳﺲ ﮐﻤﺘﺮ ﺭﺍ ﺍﻧﺘﺨﺎﺏ ﻣﯽﮐﻨﻴﻢ. ﺑﺮﺍﯼ ﺍﻳﻦ ﻣﺴﺌﻠﻪ ﺗﻀﻤﻴﻦ ﻣﯽﺷﻮﺩ ﮐﻪ ﺣﺘﻤ ًﺎ ﺟﻮﺍﺑﯽ ﺑﻪ ﺭﻭﺵ ﻓﻮﻕ ﭘﻴﺪﺍ ﻣﯽﺷﻮﺩ .ﭘﻴﺎﺩﻩ ﺳﺎﺯﯼ ﺍﻳﻦ ﺍﻟﮕﻮﺭﻳﺘﻢ ﺑﻪ ﺭﻭﺵ ﺑﺎﺯﮔﺸﺘﯽ ﺑﺴﻴﺎﺭ ﺳﺎﺩﻩ ﺍﺳﺖ .ﺑﻪ ﺍﻳﻦ ﺗﺮﺗﻴﺐ ﮐﻪ ﺩﺭ ﻫﺮ ﻣﺮﺣﻠﻪ ،ﻳﮏ ﺻﻔﺤﻪﯼ ﺷﻄﺮﻧﺞ ﺩﺍﺭﻳﻢ ﺑﺎ ﺗﻌﺪﺍﺩﯼ ﻭﺯﻳﺮ ﺭﻭﯼ ﺁﻥ ﻭ ﺗﻌﺪﺍﺩ ﺧﺎﻧﻪﻫﺎﯼ ﺍﻣﻦ ﻫﺮ ﺳﺘﻮﻥ .ﻟﺬﺍ ﺳﺘﻮﻥ ﻣﻮﺭﺩ ﻧﻈﺮ ﺭﺍ ﺍﻧﺘﺨﺎﺏ ﻣﯽﮐﻨﻴﻢ ﻭ ﺑﻪ ﺍﺯﺍﯼ ﻫﺮ ﻳﮏ ﺍﺯ ﺳﻄﺮﻫﺎﯼ ﺁﻥ ،ﺑﻪ ﺗﺮﺗﻴﺐ ﻭﺯﻳﺮﯼ ﺩﺭ ﺁﻥ ﻗﺮﺍﺭ ﻣﯽﺩﻫﻴﻢ ،ﺧﺎﻧﻪﻫﺎﯼ ﺍﻣﻦ ﺑﺎﻗﻴﻤﺎﻧﺪﻩ ﺭﺍ ﺑﺮﺭﺳﯽ ﻣﯽﮐﻨﻴﻢ ﻭ ﺩﻭﺑﺎﺭﻩ ﻣﺴﺌﻠﻪﯼ ﻼ ﺑﺮﻧﺎﻣﻪ ﺭﺍ ﺗﻤﺎﻡ ﻣﯽﮐﻨﻴﻢ .ﺍﮔﺮ ﻧﻪ ﺗﺎﺑﻊ ﺑﺎﺯﮔﺸﺘﯽ ﺑﺎ ﭘﺲ ﺩﺍﺩﻥ ﻣﻘﺪﺍﺭ false ﺑﺎﺯﮔﺸﺘﯽ ﺭﺍ ﺻﺪﺍ ﻣﯽﺯﻧﻴﻢ .ﺍﮔﺮ ﺑﻪ ﺟﻮﺍﺏ ﺭﺳﻴﺪﻳﻢ ،ﭘﺲ ﺍﺯ ﭼﺎﭖ ﺁﻥ ،ﮐ ً ﻣﯽﮔﻮﻳﺪ ﮐﻪ ﺳﻄﺮﻫﺎﯼ ﺍﻣﻦ ﺑﻌﺪﯼ ﻫﻢ ﺑﺎﻳﺪ ﺑﺮﺭﺳﯽ ﺷﻮﻧﺪ. ﺩﺭ ﻭﺭﻭﺩﯼ ﻋﺪﺩ nﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﺍﻧﺪﺍﺯﻩ ﺻﻔﺤﻪ ﺷﻄﺮﻧﺞ ﺑﺨﻮﺍﻧﻴﺪ. ﺩﺭ ﺧﺮﻭﺟﯽ nﻋﺪﺩ ﭘﺸﺖ ﺳﺮ ﻫﻢ ﺑﻨﻮﻳﺴﻴﺪ ﮐﻪ ﻫﺮ ﮐﺪﺍﻡ ﻧﺸﺎﻧﻪﯼ ﻣﺤﻞ ﻭﺯﻳﺮ ﺩﺭ ﻳﮑﯽ ﺍﺯ ﺳﺘﻮﻥﻫﺎﺳﺖ) ﺑﻪ ﺗﺮﺗﻴﺐ ﺍﺯ ﭼﭗ ﺑﻪ ﺭﺍﺳﺖ .(.ﺧﺎﻧﻪﯼ ﺍﻭﻝ ﻫﺮ ﺳﺘﻮﻥ ﺭﺍ ﺷﻤﺎﺭﻩﯼ ﻳﮏ ﻭ ﺧﺎﻧﻪﯼ ﺁﺧﺮ ﺭﺍ ﺑﺎ ﺷﻤﺎﺭﻩﯼ nﻣﺸﺨﺺ ﮐﻨﻴﺪ . ﻣﺜﺎﻝ :ﺑﺮﺍﯼ n=8ﺩﺍﺭﻳﻢ: * * * * 4 * * * * * * Q5 * 0 * * * * * * * 1 * * * * * 3 * * * Q4 * * * * 0 * * * * * * * 1 * * * * * * * 1 * * * * * 3 * * * * * * * Q6 0 * * * * * 3 * * * * Q3 * * * 0 * * Q2 * * * * * 0 Q1 * * * * * * * 0 * * * * Q3 * * * 0 * * Q2 * * * * * 0 Q1 * * * * * * * 0 * * * * * * Q5 * 0 * * * 5 * * * * * * * 1 * * * * 4 4 4 4 4 * * * Q4 * * * * 0 * * * * * * * * * * * * * * * * * * 2 * * * * * * * 1 * * * * Q3 * * * 0 * * * * * * Q2 * * * * * 0 * * Q2 * * * * * 0 ﻟﺬﺍ ﺩﺭ ﺍﻳﻦ ﺣﺎﻟﺖ ﺑﻪ ﺟﻮﺍﺏ ﻧﺮﺳﻴﺪﻳﻢ .ﻟﺬﺍ ﺁﺧﺮﻳﻦ ﻭﺯﻳﺮ ﺭﺍ )(Q7ﺑﻪ ﺧﺎﻧﻪﯼ ﻣﻤﮑﻦ ﺑﻌﺪﯼ ﻣﻨﺘﻘﻞ ﻣﯽﮐﻨﻴﻢ .ﭼﻮﻥ ﻫﻴﭻ ﺣﺎﻟﺖ ﺩﻳﮕﺮﯼ ﺩﺭ ﺁﻥ ﺳﺘﻮﻥ ﻧﻴﺴﺖ ،ﺑﻪ ﺳﺮﺍﻍ ﺳﺘﻮﻥ ﻗﺒﻞ ﺍﺯ ﺁﻥ ﻣﯽﺭﻭﻳﻢ Q6 .ﻭ Q5ﻭ Q4ﻫﻢ ﻫﻤﻴﻦﻃﻮﺭ .ﻟﺬﺍ Q3ﺭﺍ ﺑﻪ ﺧﺎﻧﻪﯼ ﻣﻤﮑﻦ ﺑﻌﺪﯼ ﻣﻨﺘﻘﻞ ﻣﯽﮐﻨﻴﻢ: * * * * 6 6 Q1 * * * * * * * 0 Q1 * * * * * * * 0 * * * * * * Q5 * 0 * * * * * * * 1 * * * * * * * * 0 * * * * * * 2 * * 6 * * * Q4 * * * * 0 * * * Q4 * * * * 0 * * * * * * 2 * Q7 * * * * * * 0 * * 6 Q1 * * * * * * * 0 * * * * * * 2 * * * * Q3 * * * 0 * * Q2 * * * * * 0 Q1 * * * * * * * 0 * * * * * * * Q6 0 * * * * Q3 * * * 0 * * Q2 * * * * * 0 Q1 * * * * * * * 0 * * 6 * * 6 * * 6 * * * * * * * 1 * * * * * * Q8 * 0 * * * * * * * * * * Q5 * * * * 1 0 * * * Q5 * * * * 0 * * * * * * * Q6 0 * * * * * * 2 * * * * Q7 * * * 0 * Q4 * * * * * * 0 * Q4 * * * * * * 0 * * * * * Q3 * * 0 * * * * * Q3 * * 0 * * Q2 * * * * * 0 * * Q2 * * * * * 0 ﺗﻤﺮﻳﻦ wrapText.cpp :۳ Q1 * * * * * * * 0 Q1 * * * * * * * 0 * * * * * 3 * * * * * * * 1 * * * * * * * 2 1 * * * * * * 2 * Q4 * * * * * * 0 * * * * * Q3 * * 0 * * Q2 * * * * * 0 Q1 * * * * * * * 0 * * * * * * * * * Q5 * * * * 0 * * * * * * * Q6 0 * * * * Q7 * * * 0 * Q4 * * * * * * 0 * * * * * Q3 * * 0 * * Q2 * * * * * 0 * * * * 4 Q1 * * * * * * * 0 * * * * * * 2 * * * * * * * 1 * * * * 4 * * * * * 3 * * * Q5 * * * * 0 * * * * * * 2 * * * * * Q3 * * 0 * * * * * * * Q6 0 * * * * * * * 1 * * Q2 * * * * * 0 * Q4 * * * * * * 0 Q1 * * * * * * * 0 * * * * * Q3 * * 0 Sample Output Sample Input 1 3 6 2 5 8 4 7 8 ﺻﻔﺤﻪ ﭼﻴﻦ ﻛﺮﺩﻥ ﻳﻚ ﻣﺘﻦ ﺑﻪ ﺍﻳﻦ ﻣﻌﻨﻲ ﺍﺳﺖ ﻛﻪ ﺁﻥ ﺭﺍ ﺩﺭ ﻳﻚ ﺻﻔﺤﻪ ﺑﺎ ﻋﺮﺽ ﻣﺸﺨﺺ ﻗﺮﺍﺭ ﺩﻫﻴﻢ ﺑﻪ ﻃﻮﺭﻱ ﻛﻪ ﺧﻮﺍﻧﺎ ﺑﻤﺎﻧﺪ. ﺑﺮﺍﻱ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ﻻﺯﻡ ﺍﺳﺖ ﺑﻌﺪ ﺍﺯ ﺑﺮﺧﻲ ﻛﻠﻤﺎﺕ ﺑﻪ ﺧﻂ ﺑﻌﺪ ﺑﺮﻭﻳﻢ .ﻧﻜﺘﻪ ﻱ ﻣﻬﻢ ﺧﻮﺍﻧﺎﻳﻲ ﺍﻳﻦ ﺍﺳﺖ ﻛﻪ ﺗﺎ ﺟﺎﻳﻲ ﻛﻪ ﻣﻤﻜﻦ ﺍﺳﺖ ﻧﺒﺎﻳﺪ ﺩﺭ ﺑﻴﻦ ﻳﻚ ﻛﻠﻤﻪ ﺑﻪ ﺧﻂ ﺑﻌﺪ ﺑﺮﻭﻳﻢ. text ﻣﺘﻨﻲ ﺍﺳﺖ ﻛﻪ ﻣﻲ ﺧﻮﺍﻫﻴﻢ ﺻﻔﺤﻪ ﭼﻴﻦ ﻛﻨﻴﻢ ﻭ width ﺣﺪﺍﻛﺜﺮ ﺗﻌﺪﺍﺩ ﻛﺎﺭﺍﻛﺘﺮ ﻣﻤﻜﻦ ﺩﺭ ﻳﻚ ﺧﻂ ﻭ ﻳﺎ ﻫﻤﺎﻥ ﻋﺮﺽ ﺻﻔﺤﻪ ﺍﺳﺖ. ﻧﻜﺎﺕ: .١ﮐﻠﻤﻪﻫﺎ ﺑﺎ spaceﻭ ’ ‘\nﺟﺪﺍ ﺷﺪﻩﺍﻧﺪ. .٢ﻓﻘﻂ ﻫﻨﮕﺎﻣﻲ ﺣﻖ ﺩﺍﺭﻳﻢ ﻳﻚ ﻛﻠﻤﻪ ﺭﺍ ﻗﻄﻊ ﻛﻨﻴﻢ ﻛﻪ ﻃﻮﻝ ﺁﻥ ﺍﺯ ﻋﺮﺽ ﺻﻔﺤﻪ ﺑﻴﺸﺘﺮ ﺑﺎﺷﺪ. .٣ﮐﺎﺭﺍﮐﺘﺮ ﺭﻓﺘﻦ ﺑﻪ ﺧﻂ ﺑﻌﺪ ’ ‘\nﺍﺳﺖ .ﺑﺮﺍﯼ ﻣﺜﺎﻝ ” “This is first line\nThis is second lineﻳﻚ ﺭﺷﺘﻪ ﺩﻭ ﺧﻄﻲ ﺍﺳﺖ. .٤ﻣﻤﻜﻦ ﺍﺳﺖ ﺁﺭﮔﻮﻣﺎﻥ ﻭﺭﻭﺩﻱ textﺧﻮﺩ ﭼﻨﺪ ﺧﻄﻲ ﺑﺎﺷﺪ ﻳﻌﻨﻲ ﺷﺎﻣﻞ \nﺑﺎﺷﺪ .ﺍﻳﻦ \nﻫﺎ ﺑﺎﻳﺪ ﺣﻔﻆ ﺷﻮﻧﺪ ﻭ ﺣﺬﻑ ﻧﺸﻮﻧﺪ. .٥ﮐﺎﺭﺍﮐﺘﺮﻫﺎﯼ spaceﺩﺭ ﺍﺑﺘﺪﺍ ﻭ ﺍﻧﺘﻬﺎﻱ ﺧﻂ ﻧﺒﺎﻳﺪ ﻭﺟﻮﺩ ﺩﺍﺷﺘﻪ ﺑﺎﺷﻨﺪ. .٦ﺩﻳﮕﺮ ﻛﺎﺭﺍﻛﺘﺮﻫﺎ)ﺩﻗﻴﻘ َﺎ ﺑﻪ ﻣﻌﻨﻲ ﻛﺎﺭﺍﻛﺘﺮ ﻫﺎﻱ ﻏﻴﺮ ﺍﺯ spaceﻭ ’ (‘\nﺑﺎﻳﺪ ﺩﺳﺖ ﻧﺨﻮﺭﺩﻩ ﺑﻤﺎﻧﻨﺪ. Sample Input: 6 this is a text\nI want to wrap and test your method’s correctness Sample Output: this\nis a\ntext\nI want\nto\nwrap\nand\ntest\nyour\nmethod\n’s\ncorrec\ntness * * Q2 * * * * * 0 Q1 * * * * * * * 0 ﺗﻤﺮﻳﻦ power.cpp:۴ ﺑﺮﻧﺎﻣﻪﺍﯼ ﺑﻨﻮﻳﺴﻴﺪ ﮐﻪ ﺗﻮﺍﻥﻫﺎﯼ ﻣﻨﻔﯽ ﻋﺪﺩ ۲ﺭﺍ ﺑﺎ ﺩﻗﺖ ﮐﺎﻣﻞ ﻣﺤﺎﺳﺒﻪ ﻭ ﭼﺎﭖ ﮐﻨﺪ .ﻭﺭﻭﺩﯼ ﺑﺮﻧﺎﻣﻪ ﻋﺪﺩ nﺍﺳﺖ ﻭ ﺧﺮﻭﺟﯽ ﻣﻘﺪﺍﺭ ﺍﺳﺖ . Sample input 67 Sample output 0.0000000000000000000067762635780344027125465800054371356964111328125 ﻼ doubleﻧﮕﻪ ﺩﺍﺷﺖ .ﻟﺬﺍ ﺑﺎﻳﺪ ﺑﺮﺍﯼ ﺫﺧﻴﺮﻩﺳﺎﺯﯼ ﺁﻥ ﺑﺎﻳﺪ ﺍﺯ ﺁﺭﺍﻳﻪ- ﺭﺍﻫﻨﻤﺎﻳﯽ :ﺗﻮﺟﻪ ﮐﻨﻴﺪ ﮐﻪ ﭼﻨﻴﻦ ﻋﺪﺩﯼ ﺭﺍ ﻧﻤﯽﺗﻮﺍﻥ ﺩﺭ ﻳﮏ ﻣﺘﻐﻴﺮ ﻣﻌﻤﻮﻟﯽ ﻣﺜ ً ﺍﯼ ﺑﻪ ﺍﻧﺪﺍﺯﻩﯼ nﺍﺳﺘﻔﺎﺩﻩ ﮐﻨﻴﺪ! ﻭ ﻫﺮ ﺭﻗﻢ ﺭﺍ ﻣﺘﻨﺎﻭﺑ ًﺎ ﻣﺤﺎﺳﺒﻪ ﻧﻤﺎﻳﻴﺪ.
© Copyright 2025 Paperzz