<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6103350158811287019</id><updated>2012-01-05T15:57:30.649+08:00</updated><category term='Coder.mn'/><category term='Topcoder'/><category term='Dynamic programming'/><category term='Supernatural'/><category term='Programming Contest'/><category term='Spoj.pl/CHAMKA'/><category term='analyse'/><category term='Binary Search'/><category term='Spoj.pl/CSMS'/><category term='Math'/><category term='Contest-Diary'/><category term='News'/><category term='bruteforce'/><title type='text'>Intermediate “Hello World!”</title><subtitle type='html'>Алгоритмчлал сонирхогчдод зориулав - Бодлогууд, аргачлал, олимпиадын мэдээлэл</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>64</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-1106644221386267540</id><published>2011-09-30T10:30:00.000+08:00</published><updated>2011-09-30T10:30:50.497+08:00</updated><title type='text'>ACM ICPC Regional Dalian 2011</title><content type='html'>9 сарын 23-25ны хооронд БНХАУ-н Далиан хотноо ACM ICPC бүсийн тэмцээн амжилттай болж өнгөрлөө. Уг тэмцээнд Хонгор, Мөнх-Очир, Баасанбат нарын бүрэлдэхүүнтэй S.M.C.S баг Монгол улсаа (блогоо :P) төлөөлөн оролцоод ирлээ. Манай баг 2009 онд Монгол улсын анхны хүрэл медал, 2010 онд амжилтаа бататган дахин хүрэл медал хүртээд байсан билээ.&lt;br /&gt;&lt;br /&gt;9.23:&lt;br /&gt;&lt;br /&gt;Бид Бээжин хотоос 12 цаг галт тэргээр явсаар 9.23-ны өглөө Далиан хотод ирлээ. Ингээд тэндээсээ шууд бүртгэлдээ очиж тэмцээний билэгдэл болох футболкоо авцгаалаа. Уг өдрөө тэр хавиараа жаахан танилцсан байдалтай л өнгөрүүллээ.&lt;br /&gt;&lt;br /&gt;9.24:&lt;br /&gt;&lt;br /&gt;Энэ өдөр бол дасгал тэмцээний өдөр. Дасгал тэмцээний гол зорилго нь систем болон компьютер, эдитор гэх зүйлүүдтэйгээ танилцах зорилготой өдөр юм. Гэхдээ уг өдөр сайн орвол сэтгэл зүйн хувьд дээшлэх байх гэж бодож байлаа. Гэтэл санаснаас хамаагүй тааруу орлоо :(.&lt;br /&gt;&lt;br /&gt;9.25:&lt;br /&gt;&lt;br /&gt;Жинхэнэ тэмцээний өдөр. Өмнөх дасгал дээр сайн ороогүй учир жаахан эмээж байсан. За тэмцээн эхэллээ. &lt;br /&gt;A-J хүртэл дугаарлагдсан 10 бодлого. Олон бодлогоо хувааж аваад уншиж байх хооронд эхний баг D бодлого дээр AC авлаа. Хамт уншихад үнэхээр хялбархан simulation төрлийн бодлого байсан. Кодоо бичээд submit хийлээ, хариу ирээгүй байхад буруу гэдгээ шууд мэдэв - freopen :). Тэнэг froepen-оо хаагаад явуултал мэдээж AC кк.&lt;br /&gt;Дараагийн бодлогоо хайж байтал E бодлогыг бас л өөр баг AC авчихлаа. Жаахан бодсоны эцэст DP бодолтыг олов. Бичээд явуултал AC. Board хартал 16 хавьцаа явж байна, бөөн баяр .....&lt;br /&gt;Хялбар бодлого хайж нэлээд л удлаа. Гэтэл I бодлогыг E-с ч олон хүн бодсон байх юм. Нэг л барьцгүй эвгүй бодлого байв. Тэгээд G бодлогыг уншихад болмоор санагдаад нэлээд хурдан санаа олохыг оролдсон, эцэст нь санаагаа ч оллоо. Гэхдээ бодлогууд хугацааны хязгаарлалтууд тодорхойгүй болохоор TLE авахаас айж байсан ч бичихээр шийдээд бичлээ. Жишээ тестүүдийг давж байна, өөрсдөө үүсгэсэн tricky тестүүдийг ч давж байна. Submit хийлээ, AC :).&lt;br /&gt;Бодлого хайсаар, I дээр гацсаар. Гэтэл C бодлогыг 2 баг бодсон мөртлөө болмоор санагдаад бодоод бичлээ. Нэлээд удсаны эцэст submit хийхэд WA, бид нэг л юм орхиод байгаа бололтой.&lt;br /&gt;Сүүлийн 1 цаг эхэллээ, 2 цаг зүгээр суучихлаа, байдал эвгүй болж эхэлж байна ккк. Одоо манай эцсийн боломж I гэдгийг мэдэж байсан. I бодлогыг бодоход манайд хэрэгтэй байсан ганц зүйл нь 1^4+2^4+..+n^4 -г O(1)-д олдог томъёо. квадрат зэрэг, куб зэргийг мэдэж байсан ч 4 зэргийг мэддэггүй шүү. Томъёог нь гаргах гэж үзээд ч чадсангүй. n&lt;=10^8 байсан болохоор нэг удаа precomputation хийчихвэл O(1)-д олж чадна. Гэхдээ л memory-д багтсангүй, TLE ч авлаа. 8 минут үлджээ, эцсийн эцсийн эцсийн арга гээд үзлээ. 1..10^8 хүртэл бүх утга биш харин 0-р төгссөн тоонуудыг нь хадгалчихвал ямар ч тоог ихдээ O(10) үйлдэл хийгээд олж чадна. Энэ бодолтоо Submit хийгээд 295 дахь минутанд AC. Хэзээ ч бодлого бодоод ингэж их баярлаж байсангүй кк. Дүнгийн хурал:Манайх мөнгө эсвэл хүрэл медал авах нь ойлгомжтой байсан. Хүрэл медалуудыг дуудсаар, манайх дуудагдсангүй :). Мөнгөн медал дээр S.M.C.S багийг дуудлаа. Ингээд анхны мөнгөн медалыг МУИС-МКС-н S.M.C.S баг хүртлээ.&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-fcV-7Oxb70w/ToUpckBd2qI/AAAAAAAAAE8/75-dNJ6AXAQ/s1600/IMG_0475.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="300" width="400" src="http://3.bp.blogspot.com/-fcV-7Oxb70w/ToUpckBd2qI/AAAAAAAAAE8/75-dNJ6AXAQ/s400/IMG_0475.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-AaD8Eg5IQgI/ToUpydtXlpI/AAAAAAAAAFM/__m0CL8i_Pg/s1600/IMG_0489.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="300" width="400" src="http://4.bp.blogspot.com/-AaD8Eg5IQgI/ToUpydtXlpI/AAAAAAAAAFM/__m0CL8i_Pg/s400/IMG_0489.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-OyniYTtQiC4/ToUpyOXtrhI/AAAAAAAAAFE/TS7086i8PYs/s1600/IMG_0448.JPG" imageanchor="1" style=""&gt;&lt;img border="0" height="300" width="400" src="http://1.bp.blogspot.com/-OyniYTtQiC4/ToUpyOXtrhI/AAAAAAAAAFE/TS7086i8PYs/s400/IMG_0448.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-1106644221386267540?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/1106644221386267540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2011/09/acm-icpc-regional-dalian-2011.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/1106644221386267540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/1106644221386267540'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2011/09/acm-icpc-regional-dalian-2011.html' title='ACM ICPC Regional Dalian 2011'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-fcV-7Oxb70w/ToUpckBd2qI/AAAAAAAAAE8/75-dNJ6AXAQ/s72-c/IMG_0475.JPG' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-104773841174351339</id><published>2011-09-09T23:41:00.005+08:00</published><updated>2011-09-10T01:22:23.245+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Contest-Diary'/><category scheme='http://www.blogger.com/atom/ns#' term='bruteforce'/><category scheme='http://www.blogger.com/atom/ns#' term='analyse'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamic programming'/><title type='text'>Тэмцээн - 1</title><content type='html'>Юуны өмнө тэмцээнд оролцсон хүмүүст баярлалаа. Бас эхний байруудад орсон idiot, tvvv, Adya 3т баяр хүргэе.&lt;br/&gt;Одооноос кодер дээрх тэмцээнүүдийг Тэмцээн тэд гэж нэрлэнээ. хэхэ, гадны сайтуудыг л дагаж байнадаа. Тэмцээний цагийг бас иймэрхүү орой хийвэл яаж байна саналаа үлдээгэрэй. Бодлогуудын хувьд бас л гадны сайтуудаас бодсон бодлогуудаас ишлэж зохиосон, тэстүүдэд бас их цаг гаргаж TRICKY тэстүүд их оруулсан. Ингээд бодлогын анализ хийе.&lt;span id="fullpost"&gt;&lt;br/&gt;&lt;a href="http://coder.query.mn/problems/742"&gt;Эргэлт&lt;/a&gt;&lt;br/&gt; Энэ хамгийн амархан бодлого байсан байх. Мөрийн дагуу хэд эргэх баганы дагуу хэд эргэхийг бодож үзсэн бол хариу: min(n*2-2, m*2-1)&lt;br/&gt;&lt;a href="http://coder.query.mn/problems/746"&gt;35&lt;/a&gt;&lt;br/&gt;Мэдээж цөөн сав хэрэглэхийн тулд аль болох 5-н сав ашиглах хэрэгтэй. Хэрэв N тоо 5-д хуваагдахгүй бол ядаж нэг удаа 3-н сав ашиглаж ёстой.&lt;br/&gt;&lt;a href="http://coder.query.mn/problems/747"&gt;Бага тоо&lt;/a&gt;&lt;br/&gt; Шууд хүчээр тоог 1-ээр ихэсгээд бодлогын шаардлагыг хангах тоог гаргаж авж болно. Хэрэв саяас илүү удаа 1-ээр нэмэгдүүлэх үйлдэл хийсэн бол шийдгүй юм. Өөр нэгэн бодолт өгөгдсөн тоон оронгийн тоонуудыг бүх боломжоор сэлгэж бодлогын хариуг гаргаж болно. N&lt;=999999 учир бид хамгийн ихдээ 6! үйлдэл хийгдэх юм. &lt;br/&gt;&lt;br /&gt;&lt;a href="http://coder.query.mn/problems/745"&gt;Тэгш өнцөгт&lt;/a&gt;&lt;br/&gt;&lt;br /&gt;Энэ бодлогын өгүүлбэрийг их буруу бичсэнүү, хүмүүс ойлгох гэж цагаа их алдсан байх. Энэ бодлого нь codeforces.com дээр бүх боломжийг шалгахаар бодож болохоор өгөгдсөн ба та &lt;a href="http://codeforces.com/problemset/problem/66/B"&gt;эндээс&lt;/a&gt; харж болно. Харин би хязгаарлалтыг сая болгож бүх боломжийг шалгах боломжгүй болгосон юм. Миний бодолт бол динамик програмчлал ашиглах ба left[i]-ээр тухайн i-р тэгш өнцөгтийн зүүн талд орших түүнтэй хөрш бөгөөд дараалсан мөн өөрөөс нь бага буюу тэнцүү урттай тэгш өнцөгтийн тоог тэмдэглэнэ. Үүнтэй адилаар right[i]-ээр i-аар хайрцагны баруун талд орших түүнтэй хөрш бөгөөд дараалсан мөн өөрөөс нь бага буюу тэнцүү өндөртэй тэгш өнцөгтүүдийн тоог тэмдэглэв. Тэгвэл хариу max(left[i]+right[i]) (i=1..n). Бодолт O(N)&lt;br/&gt;&lt;br /&gt;&lt;a href="http://coder.query.mn/problems/741"&gt;Тэгийн тоо&lt;/a&gt;&lt;br/&gt;&lt;br /&gt;Факториалын сүүлийн 0-үүдийн тоог яаж олдог хүмүүс бол бодох л байсан бодлого. Бодлогын хариунд тооцогдож болох үржвэрийн тэгүүдийн тоо нь min(fac2, fac5) юм. Энд fac2, fac5 нь 2 болон 5ууд тус бүр хэдэн удаа үржвэрт байгааг илэрхийлнэ. Энэ нь бидэнд бодлогыхоо хариуг гаргаж авахад заавал бүх тоог үржүүлэхээс зайлсхийх боломжийг олгох юм. Одоо бодлогоо динамик програмчлал ашиглан хоёр өөр маршрут гаргаж авна. Нэг нь үржвэрт хамгийн бага 2 орсон, нөгөө нь мэдээж хамгийн бага 5 орсон. Тэгвэл хариу нь уг 2 маршрутын бага нь болно. Бодолтыг O(N^2)-аар шийднэ.&lt;br /&gt;&lt;br/&gt; &lt;a href="http://coder.query.mn/problems/740"&gt;Mario on Box&lt;/a&gt;&lt;br/&gt; Энэ бодлогыг одоохондоо бичихгүйгээр шийдлээ.&lt;br/&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-104773841174351339?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/104773841174351339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2011/09/1.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/104773841174351339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/104773841174351339'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2011/09/1.html' title='Тэмцээн - 1'/><author><name>Dunno</name><uri>http://www.blogger.com/profile/01586840450646525198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-WOgjofyaPN0/TusNhzB99eI/AAAAAAAAAYc/m3dGaCmgOEo/s220/sss.PNG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-8690560836594241513</id><published>2011-06-20T11:34:00.003+08:00</published><updated>2011-06-20T11:40:23.686+08:00</updated><title type='text'>Модтой тоглоё 6</title><content type='html'>&lt;span id="fullpost"&gt;IOI2010-n 2dahi odoriin Traffic Congestion bodlogiig bodloo. tgj bgad nemelt tailbar hiinee. Source-g ni tavichii.&lt;blockquote&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#696969; '&gt;//Task: IOI2010_2_2&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#696969; '&gt;//by Dunno&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#004a43; '&gt;#&lt;/span&gt;&lt;span style='color:#004a43; '&gt;include &lt;/span&gt;&lt;span style='color:#800000; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#40015a; '&gt;stdio.h&lt;/span&gt;&lt;span style='color:#800000; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#004a43; '&gt;#&lt;/span&gt;&lt;span style='color:#004a43; '&gt;include &lt;/span&gt;&lt;span style='color:#800000; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#40015a; '&gt;vector&lt;/span&gt;&lt;span style='color:#800000; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#004a43; '&gt;#&lt;/span&gt;&lt;span style='color:#004a43; '&gt;include &lt;/span&gt;&lt;span style='color:#800000; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#40015a; '&gt;algorithm&lt;/span&gt;&lt;span style='color:#800000; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#004a43; '&gt;#&lt;/span&gt;&lt;span style='color:#004a43; '&gt;include &lt;/span&gt;&lt;span style='color:#800000; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#40015a; '&gt;numeric&lt;/span&gt;&lt;span style='color:#800000; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;using&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;namespace&lt;/span&gt; &lt;span style='color:#666616; '&gt;std&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;static&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; N&lt;span style='color:#808030; '&gt;,&lt;/span&gt;P&lt;span style='color:#808030; '&gt;[&lt;/span&gt;&lt;span style='color:#008c00; '&gt;1000000&lt;/span&gt;&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt;S&lt;span style='color:#808030; '&gt;[&lt;/span&gt;&lt;span style='color:#008c00; '&gt;1000000&lt;/span&gt;&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt;D&lt;span style='color:#808030; '&gt;[&lt;/span&gt;&lt;span style='color:#008c00; '&gt;1000000&lt;/span&gt;&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; n&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#603000; '&gt;vector&lt;/span&gt;&lt;span style='color:#800080; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt;&lt;span style='color:#800080; '&gt;&gt;&lt;/span&gt; v&lt;span style='color:#808030; '&gt;[&lt;/span&gt;&lt;span style='color:#008c00; '&gt;1000000&lt;/span&gt;&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; prev&lt;span style='color:#808030; '&gt;[&lt;/span&gt;&lt;span style='color:#008c00; '&gt;1000000&lt;/span&gt;&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; col&lt;span style='color:#808030; '&gt;[&lt;/span&gt;&lt;span style='color:#008c00; '&gt;1000000&lt;/span&gt;&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; sum&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; &lt;span style='color:#808030; '&gt;*&lt;/span&gt;p&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; go&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; x&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; ans &lt;span style='color:#808030; '&gt;=&lt;/span&gt; p&lt;span style='color:#808030; '&gt;[&lt;/span&gt;x&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; m &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;for&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; i &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt; i &lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; v&lt;span style='color:#808030; '&gt;[&lt;/span&gt;x&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#808030; '&gt;.&lt;/span&gt;size&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt; i&lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; u &lt;span style='color:#808030; '&gt;=&lt;/span&gt; v&lt;span style='color:#808030; '&gt;[&lt;/span&gt;x&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#808030; '&gt;[&lt;/span&gt;i&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;       &lt;span style='color:#800000; font-weight:bold; '&gt;if&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;u &lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt; prev&lt;span style='color:#808030; '&gt;[&lt;/span&gt;x&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;br /&gt;          &lt;span style='color:#800000; font-weight:bold; '&gt;continue&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;       prev&lt;span style='color:#808030; '&gt;[&lt;/span&gt;u&lt;span style='color:#808030; '&gt;]&lt;/span&gt; &lt;span style='color:#808030; '&gt;=&lt;/span&gt; x&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;       &lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; tmp &lt;span style='color:#808030; '&gt;=&lt;/span&gt; go&lt;span style='color:#808030; '&gt;(&lt;/span&gt;u&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;       m &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#603000; '&gt;max&lt;/span&gt;&lt;span style='color:#808030; '&gt;(&lt;/span&gt;m&lt;span style='color:#808030; '&gt;,&lt;/span&gt; tmp&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;       ans &lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt; tmp&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;    m &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#603000; '&gt;max&lt;/span&gt;&lt;span style='color:#808030; '&gt;(&lt;/span&gt;m&lt;span style='color:#808030; '&gt;,&lt;/span&gt; sum &lt;span style='color:#808030; '&gt;-&lt;/span&gt; ans&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    col&lt;span style='color:#808030; '&gt;[&lt;/span&gt;x&lt;span style='color:#808030; '&gt;]&lt;/span&gt; &lt;span style='color:#808030; '&gt;=&lt;/span&gt; m&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;return&lt;/span&gt; ans&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; LocateCentre&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; n&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; &lt;span style='color:#808030; '&gt;*&lt;/span&gt;p&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; &lt;span style='color:#808030; '&gt;*&lt;/span&gt;s&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; &lt;span style='color:#808030; '&gt;*&lt;/span&gt;d&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;::&lt;/span&gt;n &lt;span style='color:#808030; '&gt;=&lt;/span&gt; n&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;::&lt;/span&gt;p &lt;span style='color:#808030; '&gt;=&lt;/span&gt; p&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    sum &lt;span style='color:#808030; '&gt;=&lt;/span&gt; accumulate&lt;span style='color:#808030; '&gt;(&lt;/span&gt;p&lt;span style='color:#808030; '&gt;,&lt;/span&gt; p &lt;span style='color:#808030; '&gt;+&lt;/span&gt; n&lt;span style='color:#808030; '&gt;,&lt;/span&gt; &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt; &lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;for&lt;/span&gt;&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; i&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt; i&lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt;n&lt;span style='color:#800080; '&gt;;&lt;/span&gt; i&lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;       v&lt;span style='color:#808030; '&gt;[&lt;/span&gt;s&lt;span style='color:#808030; '&gt;[&lt;/span&gt;i&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#808030; '&gt;.&lt;/span&gt;push_back&lt;span style='color:#808030; '&gt;(&lt;/span&gt;d&lt;span style='color:#808030; '&gt;[&lt;/span&gt;i&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;       v&lt;span style='color:#808030; '&gt;[&lt;/span&gt;d&lt;span style='color:#808030; '&gt;[&lt;/span&gt;i&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#808030; '&gt;.&lt;/span&gt;push_back&lt;span style='color:#808030; '&gt;(&lt;/span&gt;s&lt;span style='color:#808030; '&gt;[&lt;/span&gt;i&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    prev&lt;span style='color:#808030; '&gt;[&lt;/span&gt;&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#808030; '&gt;]&lt;/span&gt; &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#008c00; '&gt;1&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    go&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; id &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; best &lt;span style='color:#808030; '&gt;=&lt;/span&gt; col&lt;span style='color:#808030; '&gt;[&lt;/span&gt;&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;for&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; i &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#008c00; '&gt;1&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt; i &lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt; n&lt;span style='color:#800080; '&gt;;&lt;/span&gt; i&lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800000; font-weight:bold; '&gt;if&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;col&lt;span style='color:#808030; '&gt;[&lt;/span&gt;i&lt;span style='color:#808030; '&gt;]&lt;/span&gt; &lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt; best&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        best &lt;span style='color:#808030; '&gt;=&lt;/span&gt; col&lt;span style='color:#808030; '&gt;[&lt;/span&gt;i&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;        id &lt;span style='color:#808030; '&gt;=&lt;/span&gt; i&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;return&lt;/span&gt; id&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; &lt;span style='color:#400000; '&gt;main&lt;/span&gt;&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; i&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;   freopen&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;grader.in&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;r&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt;&lt;span style='color:#603000; '&gt;stdin&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;   freopen&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;grader.out&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;w&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt;&lt;span style='color:#603000; '&gt;stdout&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;   scanf&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0f69ff; '&gt;%d&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt;&lt;span style='color:#808030; '&gt;&amp;amp;&lt;/span&gt;N&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style='color:#800000; font-weight:bold; '&gt;for&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;i&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;i&lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt;N&lt;span style='color:#800080; '&gt;;&lt;/span&gt;i&lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; scanf&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0f69ff; '&gt;%d&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt;&lt;span style='color:#808030; '&gt;&amp;amp;&lt;/span&gt;P&lt;span style='color:#808030; '&gt;[&lt;/span&gt;i&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style='color:#800000; font-weight:bold; '&gt;for&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;i&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;i&lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt;N&lt;span style='color:#808030; '&gt;-&lt;/span&gt;&lt;span style='color:#008c00; '&gt;1&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;i&lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; scanf&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0f69ff; '&gt;%d&lt;/span&gt;&lt;span style='color:#0f69ff; '&gt;%d&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt;&lt;span style='color:#808030; '&gt;&amp;amp;&lt;/span&gt;S&lt;span style='color:#808030; '&gt;[&lt;/span&gt;i&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt;&lt;span style='color:#808030; '&gt;&amp;amp;&lt;/span&gt;D&lt;span style='color:#808030; '&gt;[&lt;/span&gt;i&lt;span style='color:#808030; '&gt;]&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; r &lt;span style='color:#808030; '&gt;=&lt;/span&gt; LocateCentre&lt;span style='color:#808030; '&gt;(&lt;/span&gt;N&lt;span style='color:#808030; '&gt;,&lt;/span&gt;P&lt;span style='color:#808030; '&gt;,&lt;/span&gt;S&lt;span style='color:#808030; '&gt;,&lt;/span&gt;D&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;   printf&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0f69ff; '&gt;%d&lt;/span&gt;&lt;span style='color:#0f69ff; '&gt;\n&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt;r&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style='color:#800000; font-weight:bold; '&gt;return&lt;/span&gt; &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;let me know about errors, if any&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-8690560836594241513?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/8690560836594241513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2011/06/6.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8690560836594241513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8690560836594241513'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2011/06/6.html' title='Модтой тоглоё 6'/><author><name>Dunno</name><uri>http://www.blogger.com/profile/01586840450646525198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-WOgjofyaPN0/TusNhzB99eI/AAAAAAAAAYc/m3dGaCmgOEo/s220/sss.PNG'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-506630313546700012</id><published>2011-04-28T14:06:00.000+08:00</published><updated>2011-04-28T14:06:00.560+08:00</updated><title type='text'>Програмчлалын улсын 21-р олимпиадын бодлогууд</title><content type='html'>2-р өдрийн 1-р бодлого.&lt;br /&gt;&lt;h4&gt;Гурвалжинг судлая&lt;/h4&gt;Хугацааны хязгаарлалт: 2 сек&lt;br /&gt;&lt;br /&gt;Координатын эх О-цэгийн баруун талд (эерэг талд) ОХ-тэнхлэг дээр бүхэл координаттай С цэг тэмдэглэв. Ингэхэд О цэгээс с-зайтай, С-цэгээс а-зайтай эерэг хагас (ОХ-тэнхлэгээс дээш) хавтгайд орших цор ганц В-цэг олдоно. Үүний дараа та дараах 2 даалгаварыг гүйцэтгэ.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1-рт нь:&lt;/b&gt;&lt;br /&gt;ОВ-хэрчим дээр С1, С2, ... , Ск гэсэн ялгаатай цэгүүдийг ОС1, ОС2, ... , ОСк хэрчмүүдийн урт бүхэл тоо байхаар тэмдэглэв. Дараа нь мөн ОС-хэрчим дээр В1, В2, ... , Вm гэсэн ялгаатай цэгүүдийг OB1, OB2, ... , OBm хэрчмүүдийн урт бүхэл тоо байхаар тэмдэглэв. Эцэст нь BC хэрчим дээр A1, A2, ... , An гэсэн ялгаатай цэгүүдийг BA1, BA2, ... , BAn хэрчмүүдийн урт бүхэл тоо байхаар тэмдэглэв.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1-р даалгавар:&lt;/b&gt;&lt;br /&gt;CCi, OAj, BBt хэрчмүүд нэг цэгт огтлолцдог байх бүх (i,j,t) гурвалуудыг ол. (1 &amp;lt;= i &amp;lt;= k, 1 &amp;lt;= j &amp;lt;= n, 1 &amp;lt;= t &amp;lt;= m)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2-рт нь:&lt;/b&gt;&lt;br /&gt;1-р даалгавраа гүйцэтгэсний дараа, О-цэгээс зүүн талд (сөрөг талд) ОХ-тэнхлэг дээр D1, D2, ... , Dp гэсэн ялгаатай цэгүүдийг OD1, OD2, ... , ODp хэрчмийн урт бүхэл байхаар авав.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2-р даалгавар:&lt;/b&gt;&lt;br /&gt;Ci, Aj, Dt цэгүүд нэг шулуун дээр оршдог байх бүх (i,j,t) гурвалуудыг ол. (1 &amp;lt;= i &amp;lt;= k, 1 &amp;lt;= j &amp;lt;= n, 1 &amp;lt;= t &amp;lt;= p)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Оролт (tr.in)&lt;/b&gt;&lt;br /&gt;Оролтын файл 10 мөрөөс тогтоно.&lt;br /&gt;Эхний мөрөнд С цэгийн координат болох "b" гэсэн 10000-аас хэтрэхгүй натурал тоо байна.&lt;br /&gt;2-р мөрөнд B-цэгийг олоход хэрэглэх "c" ба "a" гэсэн 2 натурал тоо хоосон зайгаар тусгаарлагдан өгөгдөнө.&lt;br /&gt;Эдгээр тоонууд мөн 10000-аас хэтрэхгүй. (2 &amp;lt; a,b,c &amp;lt;= 10000)&lt;br /&gt;3-р мөрөнд k-гэсэн натурал тоо байна. (k &amp;lt;= 150)&lt;br /&gt;Дараагийн мөрөнд OC1, OC2, ... , OCk хэрчмүүдийн уртыг илэрхийлэх c1, c2, ... , ck гэсэн ялгаатай натурал тоонууд хоосон зайгаар тусгаарлагдан байрлана. (ci &amp;lt; c, i=1..k)&lt;br /&gt;5-р мөрөнд m гэсэн натурал тоо байна. (m &amp;lt;= 150)&lt;br /&gt;Дараагийн мөрөнд OB1, OB2, ... , OBm хэрчмүүдийн уртыг илэрхийлэх b1, b2, ... , bm гэсэн ялгаатай натурал тоонууд хоосон зайгаар тусгаарлагдан байрлана. (bi &amp;lt; b, i=1..m)&lt;br /&gt;7-р мөрөнд n гэсэн натурал тоо байна. (n &amp;lt;= 150)&lt;br /&gt;Дараагийн мөрөнд BA1, BA2, ... , BAn хэрчмүүдийн уртыг илэрхийлэх a1, a2, ... , an гэсэн ялгаатай натурал тоонууд хоосон зайгаар тусгаарлагдан байрлана. (ai &amp;lt; a, i=1..n)&lt;br /&gt;9-р мөрөнд p-гэсэн натурал тоо байна. (p &amp;lt;= 150)&lt;br /&gt;Эцсийн мөрөнд OD1, OD2, ... , ODp хэрчмүүдийн уртыг илэрхийлэх d1, d2, ... , dp гэсэн 10000-аас хэтрэхгүй ялгаатай натурал тоонууд хоосон зайгаар тусгаарлагдан байрлана.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Гаралт (tr.out)&lt;/b&gt;&lt;br /&gt;Мөр бүрт 1-р даалгаврын хариу болох (i, j, t) гурвалуудыг илэрхийлэх i, j, t гэсэн 3 тоо хоосон зайгаар тусгаарлагдан байрлана. Тус гурвалуудыг хэвлэхдээ i-гийн координатаар өсөхөөр эрэмбэлж гаргана, хэрэв i-нь тэнцүү бол i-координатаар нь өсөхөөр эрэмбэлж гаргана. Жишээ нь: (1,3,2) (2,2,3) (2,3,1) гэсэн дарааллаар хэвлэнэ.&lt;br /&gt;1-р даалгаврын бүх хариуг хэвлэж дууссаны дараа "PART 2" гэсэн тэмдэгт мөр хэвлэнэ. (1-р даалгавар нэг ч хариугүй байсан ч PART 2 гэж хэвлэнэ)&lt;br /&gt;Үүний араас мөр бүрт 2-р даалгаварын хариу болох (i,j,t) гурвалуудыг илэрхийлэх i,j,t гэсэн 3 тоо хоосон зайгаар тусгаарлагдан байрлана. Тус гурвалуудаа хэвлэх дараалал нь өмнөхтэй адил байна.&lt;br /&gt;&lt;br /&gt;Жишээ оролт&lt;br /&gt;&lt;pre&gt;8&lt;br /&gt;10 12&lt;br /&gt;2&lt;br /&gt;1 5&lt;br /&gt;3&lt;br /&gt;1 5 4&lt;br /&gt;2&lt;br /&gt;7 6&lt;br /&gt;3&lt;br /&gt;2 4 1000&lt;/pre&gt;&lt;br /&gt;Жишээ гаралт&lt;br /&gt;&lt;pre&gt;2 2 3&lt;br /&gt;PART 2&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;Тайлбар&lt;/b&gt;&lt;br /&gt;CC2 = 5, OA2 = 6, BB3 = 4 хэрчмүүд нэг цэгт огтлолцох тул 2 2 3 гэж гаргана.&lt;br /&gt;Ci, Aj, Dt цэгүүд дунд нэг шулуун дээр орших гурвал олдохгүй байна.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-506630313546700012?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/506630313546700012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2011/04/21_28.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/506630313546700012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/506630313546700012'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2011/04/21_28.html' title='Програмчлалын улсын 21-р олимпиадын бодлогууд'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-2473394564813117432</id><published>2011-04-26T08:32:00.003+08:00</published><updated>2011-04-26T20:38:46.481+08:00</updated><title type='text'>Улсын програмчлалын 21-р олимпиадын дүн</title><content type='html'>Өнгөрсөн амралтын өдрүүдээр буюу 4 сарын 23-24 өдрүүдэд Улсын Програмчлалын 21-р олимпиад КТМС дээр зохиогдож дүнгээ гаргалаа. Ингээд нийлбэр дүнгээр&lt;br /&gt;&lt;br /&gt;1. Өсөхбаатар МУИС-МТС - 240&lt;br /&gt;2. Хонгор МУИС-МКС - 210&lt;br /&gt;3. Мөнх-Очир МУИС-МКС - 200&lt;br /&gt;4. Чинбат КТМС - 195&lt;br /&gt;5. Амар КТМС - 185&lt;br /&gt;6. Амгаланбаатар КТМС - 185&lt;br /&gt;&lt;br /&gt;Багийн дүнгээр МУИС-МТС 1-р баг түрүүлж шилжин явах цомын эзэд боллоо. Амжилттай оролцсон хүмүүстээ баяр хүргэе!&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-783kxxXo9I8/TbaQNaqY-EI/AAAAAAAAAxc/avViM4P1fK0/s1600/dun%2B001.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 395px; height: 541px;" src="http://2.bp.blogspot.com/-783kxxXo9I8/TbaQNaqY-EI/AAAAAAAAAxc/avViM4P1fK0/s1600/dun%2B001.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-2473394564813117432?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/2473394564813117432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2011/04/21_26.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/2473394564813117432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/2473394564813117432'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2011/04/21_26.html' title='Улсын програмчлалын 21-р олимпиадын дүн'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-783kxxXo9I8/TbaQNaqY-EI/AAAAAAAAAxc/avViM4P1fK0/s72-c/dun%2B001.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-7769834711861094980</id><published>2011-04-25T10:16:00.002+08:00</published><updated>2011-04-25T23:46:12.446+08:00</updated><title type='text'>Програмчлалын Улсын 21-р олимпиадын алдаа</title><content type='html'>Энэ удаад олимпиадын дүнг танилцуулахаас өмнө алдаануудыг бичихээр шийдлээ.&lt;br /&gt;&lt;br /&gt;Эхний өдөр:&lt;br /&gt;Ороод суухад лабораторын компьютерийн бэлтгэл ажил муу байсан. Жишээлбэл анх ороод суухад Deep Freeze програмыг унтраагаагүй байсан, үүнийг мэдэж байсан туршлагатай оюутнууд л хаалгасан. Эндээс үүдэж гарсан хамгийн муу үр дүн нь Дархан хотоос зорьж ирсэн Мөнхбаатарын эхний өдрийн бүх Source устсан. Бид бодолтоо тулгасан ба Мөнхбаатар дор хаяж 130 оноо авах байсан. Энэ бол КтМС-н цэвэр хариуцлагагүй байдал.&lt;br /&gt;Ингээд эхний өдрийн дүн гарахад миний оноо 145 байсан ба 150 авна гэдэгтээ маш итгэлтэй байсан. Өргөдөл бичиж ороод би өөрөө тестийн алдааг олж илрүүлээд комисс хүлээн зөвшөөрч 4 хүүхэд 5 оноо нэмж авсан. Ороогүй байсан бол тэмцээний дүнд том өөрчлөлт орох байсан.&lt;br /&gt;&lt;br /&gt;Хоёр дах өдөр:&lt;br /&gt;Мөнхбаатарын бодолтыг сэргээж чадсангүй, ингээд тэдний хариуцлагагүй байдлаас болж бүхэл бүтэн 130 оноо алдаж байр эзлэх ямар ч найдваргүй болсон. Дүн гарлаа, уг нь дор хаяж 100 оноо авна гэсэн итгэлтэй байсан би 40 15 5 оноо авсан байв. 40 оноог бол би хүлээн зөвшөөрнө, 15-г ойлгож болно, 5 оноог огт ойлгосонгүй. Тэд өргөдөл хүлээн авах боломж өгөлгүй хүчээр бүх өргөмжлөлүүдийг бэлдээд бараг хүчээр дүнгийн хурал эхлүүлэв. 15 оноо авсан бодлого тест хэтэрхий сул байснаас Brute Force буюу хамгийн арга барсан аргаар бодсон хүмүүс 50 авч гайхал төрүүлэв. &lt;br /&gt;&lt;br /&gt;Тэмцээний дараа Мөнх-Очир бид 2 миний 5 авсан буюу "tr" бодлогын бодолтыг зөв гэдэгт итгэлтэй байсан тул тестүүдийг аваад шалгаж үзтэл ихэнх тест бодлогын нөхцлийг хангаагүй буюу Гурвалжны тэнцэтгэл биш хангахааргүй өгөгдсөн байв. Мэдээж гурвалжин үүсэхгүй бол ямар хариу хэвлэх вэ дээ? Гэтэл зохиогч болон Өсөхбаатар-н бодолтууд хаанаас ч юм хариу олж хэвлээд тэдгээр нь таарсан. Би гурвалжны тэнцэтгэл биш нөхцлийг хангахгүй бол юу ч хэвлэхгүй гэдгийг кодондоо бичсэн. Энэ бодлогоны тест буруу байсан нь хамгийн том алдаа, хэрвээ энэ алдаа байгаагүй бол Би 1-рт байрт орж багаараа дахин цом хүртэх байлаа. Тэд өргөдөл хүлээж авах ёстой байсан, хэрэв хүлээж авсан бол би тэр алдааг дорхноо илрүүлж бүгдийг өөрчлөх байсан. &lt;br /&gt;&lt;br /&gt;Бүх юм дууссан болохоор дараа жилийнхдээ л сайн бэлдэе дээ :)&lt;br /&gt;&lt;br /&gt;Гэхдээ бид ижилхэн л оролцогчид учраас Өсөхбаатарт баяр хүргэе!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-7769834711861094980?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/7769834711861094980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2011/04/21.html#comment-form' title='83 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7769834711861094980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7769834711861094980'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2011/04/21.html' title='Програмчлалын Улсын 21-р олимпиадын алдаа'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>83</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-1068942020761767741</id><published>2011-04-13T13:22:00.007+08:00</published><updated>2011-04-14T23:55:03.910+08:00</updated><title type='text'>MNPC 2011 - SMCS багийн тэмдэглэл</title><content type='html'>Би (SMCS - Э.Хонгор) энд багийнхаа MNPC 2011-т хэрхэн оролцсон тухай бичихээр шийдлээ. Юуны өмнө MNPC 2011 нь Мөнх-Очир бид хоёрын хувьд оролцох боломжтой сүүлийн жил байсан болохоор амжилттай оролцохыг хүсч байсан ба санасандаа хүртэл оролцсондоо таатай байна. Мөн багийн уламжлал ёсоор дахин нэг гишүүн маань солигдсон билээ :p. Багийн шинэ гишүүн маань уг блог-н идэвхтэй админ болох Баасанбат юм. Тэмцээний үеэр олон бодлого байсан болохоор хэн яг ямар бодлого оролдож уншсаныг мартчихаж, багийн ажиллагаа байсан гэж ойлгоорой :).&lt;br /&gt;&lt;br /&gt;За ингээд тэмцээнээ эхэлье :). Тэмцээн эхлэв 10 бодлого ирлээ. Бодлогыг хувааж аваад уншив аа, тэгтэл J бодлого N тооны эрэмбээрээ голын тоог ол гэнэ. Шууд STL-н sort ашиглаж бичээд явуултал TLE. N&amp;lt;=10^6 бас multicase 10 ширхэг байсан болохоор амжсангүй. Ингээд шууд хаяад A бодлогыг хартал өгөгдсөн тоонуудын нийлбэрийг ол гэнэ. Ингээд явуулаад 6 дахь минутанд AC. Тэгтэл манайхаас өмнө 2 баг AC авсан байв, J-г хэрэггүй оролдлоо :p. C бодлого N-с хэтрэхгүй хуваарьтай бүх зөв энгийн бутархайг эрэмбэлж гаргах бодлого байв, N жижигхэн байсан болохоор шууд бичээд AC (11 минут). Ингээд тэмцээний дүнг хартал маш бага хугацааны зөрүүгээр нэгт орлоо. Амархан бодлого олохын тулд бүх бодлогыг уншиж их цаг авав, тэгээд I бодлогыг уншиж дуусахад жаахан нуугдмал Bipartite Matching байсныг олоод шууд бичээд AC (41 минут). Дүнгээ хартал бас л тэнцчихсэн, хугацаагаараа арай бага болохоор 1т. Board-с ажиглаад B бодлого хялбар байж магадгүй санагдаад B-г Мөнх-Очиртой цуг жаахан бодсоны эцэст шууд томъёог олоод AC авав (64 минут). Дараагийн бодлого - F, уг бодлого өгүүлбэрээ ойлгосны дараа жижигсэн DP байсныг олов, бичиж байх зуураа дүн хартал дахиад л тэнцчихлээ, MTC-н 1-р багтай үнэхээр ширүүн өрсөлдөж байна даа, ингээд F-ээ дуусгаад AC(75 минут). Ингээд 5 бодлоготой болоод 1 оноогоор холдсон ч удалгүй өрсөлдөгч баг маань 5 бодлоготой болж тэнцэв. Бодлогуудаа уншсаар л, амархан бодогдчих бодлого олдолгүй удав. E бодлого MIS 2D(Maximum Interval Sum) -г олох бодлого, Мөнх-Очиртой хамтраад бичиж байтал арай жаахан удаж магадгүй санагдаад дуусгалгүй өөр бодлого харав. Тэгээд Баасанбатын уншиж байсан H-г DP + BFS гэдгийг харлаа. Маш урт өгүүлбэртэй бодлого байсан болохоор Баска-н тусламжтай хурдан ойлгоод бичив. Bug гарсан болохоор гурвуулаа нийлж тестлэж засаад явуулав. Алдаж магадгүй гэсэн айдастай байсан ч AC авлаа (154 минут). Яг энэ үед манайх 7 оноотой өрсөлдөгч 5 оноотой байсан болохоор жаахан тайвширлаа. Юмаа идэх нь идээд усаа уух нь уугаад бие засах нь заслаа. Ороод иртэл нөгөө баг 6 болчихжээ, яарахгүй бол болохгүй нь. Одоо бодох дутуу гурван бодлого нь D, G, J.  J бодлогыг яг баталгаатай бодох арга олоогүй ч эцсийн арга гээд нэг арга олчихсон. D бодлогыг анх хараад ямар ч санаа олсонгүй. Brute Force бичээд жижиг тохиолдлоос зүй тогтлыг олов. Гурвуулаа нийлж байгаад томъёо гаргаад явуултал WA. Итгэлгүй байсан болохоор орхив. Тэмцээний дүнд өөрчлөлт ороогүй байсан болохоор өрсөлдөгч баг манайхыг ялахын тулд дор хаяж 2 бодлого нэмж бодох ёстой ба цаг бага үлдсэн байсан болохоор тайван байлаа, гэхдээ хамаагүй тайвширч болохгүйгээ мэдэж байсан болохоор J-г эцсийн аргаараа үзээд AC авав (228 минут). Одоо л тайвширч болохоор боллоо, гэхдээ D-г эцсээ хүртэл оролдсоор байв. Ингээд манай баг дахин түрүүлж хошой аварга боллоо. Бодлогын анализ дээр зохиогч D-н бодолтоо тайлбарлатал томъёо нь яг таарж байсан ба бодолтоо тулгатал маш жижигхэн алдаа байсан ба манай бодолт зөв болж rejudge хийхэд AC авав (208 минут). Ингээд 9 оноотой гэсэн үг, гэхдээ бусад багуудын аль нь ч бодож чадаагүй болохоор ялгаагүй гэж үзээд манай баг 8 оноотой үлдэхээр шийдсэн.&lt;br /&gt;&lt;br /&gt;Бодлого Оролдлого Минут&lt;br /&gt;A 1 6&lt;br /&gt;C 1 11&lt;br /&gt;I 1 41&lt;br /&gt;B 1 64&lt;br /&gt;F 1 75&lt;br /&gt;H 1 154&lt;br /&gt;E 1 170&lt;br /&gt;D 1 203&lt;br /&gt;J 6 228&lt;br /&gt;&lt;br /&gt;Багийнхандаа баяр хүргэе!&lt;br /&gt;&lt;br /&gt;P.S: Удахгүй бүх бодлогын өгүүлбэрийг оруулах болно.  &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/-GTTaj9fzPAc/Tabzx3sozwI/AAAAAAAAAEo/eehANmlXsd0/s1600/SAM_0035.JPG" imageanchor="1"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-GTTaj9fzPAc/Tabzx3sozwI/AAAAAAAAAEo/eehANmlXsd0/s400/SAM_0035.JPG" width="400" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-1068942020761767741?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/1068942020761767741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2011/04/mnpc-2011-smcs.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/1068942020761767741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/1068942020761767741'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2011/04/mnpc-2011-smcs.html' title='MNPC 2011 - SMCS багийн тэмдэглэл'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-GTTaj9fzPAc/Tabzx3sozwI/AAAAAAAAAEo/eehANmlXsd0/s72-c/SAM_0035.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-6689099677791561455</id><published>2011-04-13T12:04:00.001+08:00</published><updated>2011-04-13T13:26:38.959+08:00</updated><title type='text'>Монголын Үндэсний Програмчлалын III Олимпиад</title><content type='html'>Монголын их дээд сургуулуудын оюутнуудын багуудын хооронд зохион байгуулагддаг Үндэсний Програмчлалын олимпиад 4.9-нд гурав дахь удаагаа амжилттай болж өндөрлөлөө. Тэмцээний дүнгээс дурдвал&lt;br /&gt;&lt;br /&gt;1. МУИС - МКС 1-р баг - 8 оноо&lt;br /&gt;Бүрэлдэхүүн : Хонгор, Мөнх-Очир, Баасанбат&lt;br /&gt;2. МУИС - МТС 1-р баг - 6 оноо&lt;br /&gt;Бүрэлдэхүүн : Өсөхбаатар, Жамсрандорж, Мөнхжаргал&lt;br /&gt;3. МУИС - МТС 2-р баг - 6 оноо&lt;br /&gt;Бүрэлдэхүүн : Хуягбаатар, Чинболд, Дөлгөөн&lt;br /&gt;4. ШУТИС - КТМС 1-р баг - 4 оноо&lt;br /&gt;Бүрэлдэхүүн : Амар, Адъяа, Гансүх&lt;br /&gt;5. МУИС - МКС 2-р баг - 4 оноо&lt;br /&gt;Бүрэлдэхүүн : Ганбат, Гончигдорж, Дөлгөөн&lt;br /&gt;6. ШУТИС - КТМС 2-р баг - 4 оноо&lt;br /&gt;Бүрэлдэхүүн : Баярмагнай, Чинбат,  ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-6689099677791561455?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/6689099677791561455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2011/04/iii.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6689099677791561455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6689099677791561455'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2011/04/iii.html' title='Монголын Үндэсний Програмчлалын III Олимпиад'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-3230799493756202361</id><published>2011-02-24T23:17:00.000+07:00</published><updated>2011-02-24T23:17:42.527+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><category scheme='http://www.blogger.com/atom/ns#' term='Supernatural'/><title type='text'>Чигчийхэн ба Чимэд ах</title><content type='html'>&lt;b&gt;&lt;a href="http://coder.mn/problems/379"&gt;Тавил&lt;/a&gt;:&lt;/b&gt;&lt;br /&gt;Online-Judge системд оролтын өгөгдлүүд тэст бүр дээр ижилхэн 1 байхад, гаралтын өгөгдлүүдийг тэст бүр дээр ялгаатай буюу 1-ээс N (тэстүүдийн тоо, N &lt; 9) хүртэлх тоонууд байхаар хэвлэ.&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Бодолтын санаа:&lt;/b&gt;&lt;br /&gt;Шууд тэст дуудах болгонд random-ээр 1-ээс N хүртэлх тоог үүсгээд хэвлэнэ гэвэл 1/2^N хэмжээний магадлалтай болно. Энэ бол боломжгүй шахуу зүйл юм. Иймээс өөр арга олох хэрэгтэй.&lt;br /&gt;&lt;br /&gt;Тэст дуудагдах болгонд буюу програм ажиллах болгон өөрчлөгддөг хэдэн зүйл бий. Тэдгээрийн нэг нь цаг хугацаа буюу unixtime. Үүнийг ашиглан бодож болно.&lt;br /&gt;Online-Judge системд i-р тэстийг давсан тохиолдолд i+1 дэхь тэстийг програмд уншуулдаг. Мөн i-р тэстийг шалгаад дууссан бол бараг л шууд i+1 дэхь тэстийг уншуулж эхэлдэг. За энэ хооронд үүсэх хугацааны алдагдлыг хамгийн ихээр бодоход 0.5 секунд гэж үзье. (coder.mn дээр 0.2 секунд байл уу даа?)&lt;br /&gt;1-р тэстийг unixtime-н секундээр T1=X*10+1 дэхь секундэд ажиллуулна гэж үзье. Тэгвэл програм маань гаралтын утгыг (T1 % 10) гэж хэвлэчихээд хугацааг T2=X*10+2 секунд болтол өөр дээрээ delay ажиллуулна. T2=X*10+2 секунд өнгөрөнгүүт програм зогсож, online judge маань дараагийн тэстийг програм руу оруулна. Энэ удаад T2 хугацаа маань хамгийн ихээр бодоход (T2 + 0.5) болж өөрчлөгдөнө. Програм энэ удаад (T2 % 10) гэсэн утгыг хэвлэчихээд дахиад хугацааг T3=X*10+3 секунд болтол delay ажиллуулна. Гэхмэтчилэн хэвлэсээр байгаад бүх тэстийг дуусгана.&lt;br /&gt;&lt;br /&gt;Энэ маягаар бодоход шууд нэг удаа бодлогыг илгээгээд ажиллуулах магадлал бага юм. Таны илгээсэн соорс online-judge системд хөрвүүлэгдээд яг ажиллах үед, системийн цаг хугацаа unixtime-н секундээр 10-д хуваахад 1 үлдэгдэл өгж болж байвал бүрэн зөв ажиллаж чадна гэсэн үг.&lt;br /&gt;&lt;br /&gt;Тэгэхээр онолын хувьд бол 10 удаа бодолтоо илгээхэд нэг удаад нь бүрэн дүүрэн бодолт хийх магадлалтай ба, хэрвээ та овсгоотой бол шууд нэгхэн илгээгээд удаа unixtime-аар яг 10*X+1 дэхь секундэд програмаа бүрэн зөв ажиллуулах боломжтой юм :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-3230799493756202361?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/3230799493756202361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2011/02/blog-post.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/3230799493756202361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/3230799493756202361'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2011/02/blog-post.html' title='Чигчийхэн ба Чимэд ах'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-5945620751110978876</id><published>2010-10-25T21:05:00.003+08:00</published><updated>2010-10-26T22:16:23.888+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>Баяр хүргэе!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_NK1Ttm0dfl0/TMbhwyB-4vI/AAAAAAAAARQ/9N7W7erDXaw/s1600/Team.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_NK1Ttm0dfl0/TMbhwyB-4vI/AAAAAAAAARQ/9N7W7erDXaw/s320/Team.JPG" alt="" id="BLOGGER_PHOTO_ID_5532357420451291890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ази тивийн Оюутны програмчлалын 35 дахь удаагийн бүсийн олимпиад БНХАУ-ын Тянжинь хотод болж өнгөрлөө. Уг олимпиадаас манай блогийн гишүүд болох Н.Алмабек, Л.Мөнх-Очир, Э.Хонгор нар болон Багаболд багш ахлагчтай МУИС-ийн МКС-ийн баг хүрэл медаль хүртэв.&lt;br /&gt;&lt;br /&gt;Өнгөрсөн жил Л.Мөнх-Очир, Б.Хасан, Э.Хонгор нарын бүрэлдэхүүнтэй МУИС-ийн МКС-ийн баг мөн хүрэл медаль хүртэж байсан ба энэ жил амжилтаа бататган хошой хүрэл медалийн эзэд болжээ.&lt;br /&gt;&lt;br /&gt;Дээрх тэмцээн нь олон улсын  их, дээд сургуулиудын хооронд болдог бөгөөд програмчлах ур чадвар, мэдлэг, дадлага, багаар ажиллах чадварыг шалгасан програмчлалын дэлхийн хамгийн нэр хүндтэй тэмцээн юм.&lt;br /&gt;&lt;br /&gt;Олон улсын олимпиадаас хүрэл медаль хүртсэн дээрх баг нь энэ оны дөрөвдүгээр сард болсон Монголын оюутны прог­рамчлалын тэмцээнд оролцож шалгарч Азийн бүсийн олимпиадад орох эрх авсан.&lt;br /&gt;&lt;br /&gt;Бяцхан фото сурвалжлага:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/__fWt3lVs8MQ/TMbc_tsOqrI/AAAAAAAAAEc/WV4YQd5r8XI/s1600/IMGP1345.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://2.bp.blogspot.com/__fWt3lVs8MQ/TMbc_tsOqrI/AAAAAAAAAEc/WV4YQd5r8XI/s320/IMGP1345.JPG" width="320" border="0" height="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/__fWt3lVs8MQ/TMbcd27M63I/AAAAAAAAAEY/m_yQG4c9Z4k/s1600/IMGP1344.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;center&gt;&lt;br /&gt;Багийн дасгалжуулагч Багаболд багш&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://4.bp.blogspot.com/_NK1Ttm0dfl0/TMJ16sGZZFI/AAAAAAAAARA/I75dDsDvG6M/s1600/IMGP1282.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" id="BLOGGER_PHOTO_ID_5531112943495242834" src="http://4.bp.blogspot.com/_NK1Ttm0dfl0/TMJ16sGZZFI/AAAAAAAAARA/I75dDsDvG6M/s320/IMGP1282.jpg" style="cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Багийн гишүүн Хонгор&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://1.bp.blogspot.com/_NK1Ttm0dfl0/TMJ16TgXdSI/AAAAAAAAAQ4/uHJoUPi34xQ/s1600/IMGP1284.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" id="BLOGGER_PHOTO_ID_5531112936893281570" src="http://1.bp.blogspot.com/_NK1Ttm0dfl0/TMJ16TgXdSI/AAAAAAAAAQ4/uHJoUPi34xQ/s320/IMGP1284.jpg" style="cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Багийн гишүүн Мөнх-Очир&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://1.bp.blogspot.com/_NK1Ttm0dfl0/TMJ16Cx4e5I/AAAAAAAAAQw/etYxFDYhHiA/s1600/IMGP1338.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" id="BLOGGER_PHOTO_ID_5531112932403346322" src="http://1.bp.blogspot.com/_NK1Ttm0dfl0/TMJ16Cx4e5I/AAAAAAAAAQw/etYxFDYhHiA/s320/IMGP1338.jpg" style="cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Багийн гишүүн Алмабек&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://4.bp.blogspot.com/_NK1Ttm0dfl0/TMJ15vlphyI/AAAAAAAAAQo/REhMEU6NHl8/s1600/IMGP1370.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" id="BLOGGER_PHOTO_ID_5531112927251760930" src="http://4.bp.blogspot.com/_NK1Ttm0dfl0/TMJ15vlphyI/AAAAAAAAAQo/REhMEU6NHl8/s320/IMGP1370.jpg" style="cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Дурсгалын зураг даруулсан нь&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-5945620751110978876?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/5945620751110978876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/10/blog-post_25.html#comment-form' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5945620751110978876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5945620751110978876'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/10/blog-post_25.html' title='Баяр хүргэе!'/><author><name>Dunno</name><uri>http://www.blogger.com/profile/01586840450646525198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-WOgjofyaPN0/TusNhzB99eI/AAAAAAAAAYc/m3dGaCmgOEo/s220/sss.PNG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_NK1Ttm0dfl0/TMbhwyB-4vI/AAAAAAAAARQ/9N7W7erDXaw/s72-c/Team.JPG' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-6410670696194491106</id><published>2010-10-14T10:43:00.006+08:00</published><updated>2010-10-16T10:25:27.767+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><title type='text'>Модтой тоглоё 3 4</title><content type='html'>&lt;a href="http://coder.mn/problems/443"&gt;Бодлого&lt;/a&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;Мод гэдэг нь чиглэлгүй, дурын 2 оройн хооронд яг ганц л янзын зам олддог(нэг л маршрутаар очиж болдог) цикл агуулагүй (бүх оройн хувьд өөрөөсөө гараад өөр дээрээ ирдэг зам олдох ёсгүй) холбоост (дурын оройгоос дурын оройд очиж болдог) графыг мод гэнээ. Өөрөөр хэлбэл цикл агуулаагүй бүх холбоост графыг мод гэнээ гэж ойлгож болно. N оройтой граф байхад циклгүй холбоост граф болгохын тулд N-1 ирмэг татна. Бодлогоо бодохын тулд графын нэвтрэлтүүд болох &lt;a href="http://en.wikipedia.org/wiki/Breadth-first_search"&gt;түвшний нэвтрэлт&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Depth-first_search"&gt;гүний нэвтрэлт&lt;/a&gt; аль альныг нь ашиглаж болно. Нэвтрэлт хийгээд бүх орой дээр хүрсэн эсэхийг шалгахад л хангалттай. Энэ гайгүй бодлого болохоор сурч аваарай гээд :D код тавив. Нээрээ өөр нэмэлт маягаар хэлэхэд энэ бодлогыг бас &lt;a href="http://en.wikipedia.org/wiki/Disjoint-set_data_structure"&gt;Disjiont Union&lt;/a&gt; өгөгдлийн бүтэц ашиглаж бодож болно.&lt;br /&gt;Гүний нэвтрэлт хийсэн бодолт:&lt;br /&gt;&lt;pre style="color: rgb(0, 0, 0); background: none repeat scroll 0% 0% rgb(255, 255, 255);"&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;cstdio&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;cstdlib&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;queue&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;stack&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;algorithm&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;cmath&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;cstring&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;set&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;using&lt;/span&gt; &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;namespace&lt;/span&gt; &lt;span style="color: rgb(102, 102, 22);"&gt;std&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;define&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt; Max 10000&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(96, 48, 0);"&gt;vector&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;&gt;&lt;/span&gt;a&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;Max&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;bool&lt;/span&gt; visited&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;Max&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt; n&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt;m&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;bool&lt;/span&gt; istree&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;for&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt; i&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;i&lt;span style="color: rgb(128, 128, 48);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;n&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;i&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;visited&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;false&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;true&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt; DFS&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt; i&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(96, 48, 0);"&gt;vector&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;::&lt;/span&gt;&lt;span style="color: rgb(96, 48, 0);"&gt;iterator&lt;/span&gt; it&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;   visited&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;for&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;it&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;a&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;.&lt;/span&gt;begin&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;it&lt;span style="color: rgb(128, 128, 48);"&gt;&amp;lt;&lt;/span&gt;a&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;.&lt;/span&gt;end&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;it&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;visited&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;*&lt;/span&gt;it&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;DFS&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;*&lt;/span&gt;it&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt; &lt;span style="color: rgb(64, 0, 0);"&gt;main&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(105, 105, 105);"&gt;//freopen("yi.txt","r",stdin);&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(105, 105, 105);"&gt;//freopen("yo.txt","w",stdout);&lt;/span&gt;&lt;br /&gt;   scanf&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(15, 105, 255);"&gt;%d&lt;/span&gt;&lt;span style="color: rgb(15, 105, 255);"&gt;%d&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;&amp;amp;&lt;/span&gt;n&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;&amp;amp;&lt;/span&gt;m&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;m&lt;span style="color: rgb(128, 128, 48);"&gt;&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;n&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;printf&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 230);"&gt;NO&lt;/span&gt;&lt;span style="color: rgb(15, 105, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 140, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;while&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;m&lt;span style="color: rgb(128, 128, 48);"&gt;-&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;-&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt; u&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt;v&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;      scanf&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(15, 105, 255);"&gt;%d&lt;/span&gt;&lt;span style="color: rgb(15, 105, 255);"&gt;%d&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;&amp;amp;&lt;/span&gt;u&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;&amp;amp;&lt;/span&gt;v&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;      a&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;u&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;.&lt;/span&gt;push_back&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;v&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;      a&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;v&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;.&lt;/span&gt;push_back&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;u&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;&lt;br /&gt;   DFS&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;istree&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;printf&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 230);"&gt;YES&lt;/span&gt;&lt;span style="color: rgb(15, 105, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;else&lt;/span&gt; printf&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 230);"&gt;NO&lt;/span&gt;&lt;span style="color: rgb(15, 105, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 140, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Түвшний нэвтрэлт хийсэн бодолт:&lt;br /&gt;&lt;pre style="color: rgb(0, 0, 0); background: none repeat scroll 0% 0% rgb(255, 255, 255);"&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;cstdio&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;cstdlib&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;queue&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;stack&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;algorithm&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;cmath&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;cstring&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;include&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(64, 1, 90);"&gt;set&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;using&lt;/span&gt; &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;namespace&lt;/span&gt; &lt;span style="color: rgb(102, 102, 22);"&gt;std&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;#&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt;define&lt;/span&gt;&lt;span style="color: rgb(0, 74, 67);"&gt; Max 100001&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(96, 48, 0);"&gt;queue&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;&gt;&lt;/span&gt;q&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(96, 48, 0);"&gt;vector&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt; &lt;span style="color: rgb(128, 0, 128);"&gt;&gt;&lt;/span&gt;a&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;Max&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;bool&lt;/span&gt; visited&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;Max&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt; n&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt;m&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;bool&lt;/span&gt; istree&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;for&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt; i&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;i&lt;span style="color: rgb(128, 128, 48);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;n&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;i&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;visited&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;false&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;true&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt; &lt;span style="color: rgb(64, 0, 0);"&gt;main&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;&lt;br /&gt;   memset&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;visited&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;sizeof&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;visited&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(105, 105, 105);"&gt;//freopen("in11.txt","r",stdin);&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(105, 105, 105);"&gt;//freopen("out11.txt","w",stdout);&lt;/span&gt;&lt;br /&gt;   scanf&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(15, 105, 255);"&gt;%d&lt;/span&gt;&lt;span style="color: rgb(15, 105, 255);"&gt;%d&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;&amp;amp;&lt;/span&gt;n&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;&amp;amp;&lt;/span&gt;m&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;m&lt;span style="color: rgb(128, 128, 48);"&gt;&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;n&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;printf&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 230);"&gt;Mod bish&lt;/span&gt;&lt;span style="color: rgb(15, 105, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 140, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;while&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;m&lt;span style="color: rgb(128, 128, 48);"&gt;-&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;-&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt; u&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt;v&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;        scanf&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(15, 105, 255);"&gt;%d&lt;/span&gt;&lt;span style="color: rgb(0, 0, 230);"&gt; &lt;/span&gt;&lt;span style="color: rgb(15, 105, 255);"&gt;%d&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;&amp;amp;&lt;/span&gt;u&lt;span style="color: rgb(128, 128, 48);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;&amp;amp;&lt;/span&gt;v&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;        a&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;u&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;.&lt;/span&gt;push_back&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;v&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;        a&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;v&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;.&lt;/span&gt;push_back&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;u&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;&lt;br /&gt;   q&lt;span style="color: rgb(128, 128, 48);"&gt;.&lt;/span&gt;push&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;while&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;q&lt;span style="color: rgb(128, 128, 48);"&gt;.&lt;/span&gt;size&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt; l&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;q&lt;span style="color: rgb(128, 128, 48);"&gt;.&lt;/span&gt;front&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;        visited&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;l&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;        q&lt;span style="color: rgb(128, 128, 48);"&gt;.&lt;/span&gt;pop&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(96, 48, 0);"&gt;vector&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;::&lt;/span&gt;&lt;span style="color: rgb(96, 48, 0);"&gt;iterator&lt;/span&gt; it&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;for&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;it&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;a&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;l&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;.&lt;/span&gt;begin&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;it&lt;span style="color: rgb(128, 128, 48);"&gt;&amp;lt;&lt;/span&gt;a&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;l&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;.&lt;/span&gt;end&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;it&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;visited&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;*&lt;/span&gt;it&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;{&lt;/span&gt;&lt;br /&gt;              visited&lt;span style="color: rgb(128, 128, 48);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;*&lt;/span&gt;it&lt;span style="color: rgb(128, 128, 48);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 140, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;              q&lt;span style="color: rgb(128, 128, 48);"&gt;.&lt;/span&gt;push&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;*&lt;/span&gt;it&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;istree&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;printf&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 230);"&gt;Mod&lt;/span&gt;&lt;span style="color: rgb(15, 105, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;else&lt;/span&gt; printf&lt;span style="color: rgb(128, 128, 48);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 230);"&gt;Mod bish&lt;/span&gt;&lt;span style="color: rgb(15, 105, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 128, 48);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 140, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Модтой тоглоё 4&lt;/span&gt;&lt;br /&gt;Дурын оройгоос Түвшний нэвтрэлт хийж хамгийн сүүлд очих навчнаас дахин Түвшний нэвтрэлт хийж хамгийн сүүлд очих навч хүртлэх ирмэгүүдийн тоо хариу болно.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-6410670696194491106?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/6410670696194491106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/10/3-4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6410670696194491106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6410670696194491106'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/10/3-4.html' title='Модтой тоглоё 3 4'/><author><name>Dunno</name><uri>http://www.blogger.com/profile/01586840450646525198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-WOgjofyaPN0/TusNhzB99eI/AAAAAAAAAYc/m3dGaCmgOEo/s220/sss.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-3539438186215367348</id><published>2010-10-05T14:26:00.000+08:00</published><updated>2010-10-05T14:26:03.240+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><title type='text'>Азтай хулгана</title><content type='html'>&lt;b&gt;Тавил:&lt;/b&gt;&lt;br /&gt;Тойрог дээр N ширхэг хулгана сууж байв. Хулганууд 1..N гэсэн дугааруудтай. Муур 1-р хулганаас эхлэн тоолоод k-р хулганыг идэж, цаашид (k+1)-р хулганаас эхлэн тоолж мөн k дахь хулганыг гэх мэтээр идсээр хамгийн сүүлд нэг хулганыг үлдээжээ. Хамгийн сүүлд үлдсэн азтай хулганы дугаарыг ол.&lt;br /&gt;&lt;a href="http://coder.mn/problems/345"&gt;Эх өгүүлбэр&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Бодолт:&lt;/b&gt;&lt;br /&gt;Энгийн динамик програмчлалын арга ашиглая.&lt;br /&gt;Хамгийн эхний хулганыг сонгочихлоо гэж бодъё. Өөрөөр хэлбэл K дахь хулгана түрүүлээд идэгдчихлээ гэсэн үг. Одоо тойрог дээр N-1 ширхэг хулгана үлдсэн ба K+1 дахь хулганаас эхлэн тоолох боловч энэ нь яг л N-1 ширхэг хулганы хувьд бодлого маань хэвээрээ тавигдана гэсэн үг. Тэгэхлээр N-1 ширхэг хулганы хувьд ямар нэг X дахь хулгана нь азтай хулгана болж таарна гэвэл тэр нь анхны N хулганы хувьд K+1 дахь хулганаас эхлэн тоолсон байх тул K+X дахь хулгана N хулганы хувьд азтай хулгана болж таарна. Мөн хулганууд тойргоор байрласан учир K+X тоо N-ээс хэтэрсэн тохиолдолд 1-ээс эхлэн тоологдох болно. Үүнийг харгалзан үзвэл дараах рэкуррэнт томьёо гарах ба үүгээр бодлогыг бодож бүрэн болно.&lt;br /&gt;&lt;br /&gt;F(N) = (F(N-1) + K - 1) % N + 1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-3539438186215367348?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/3539438186215367348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/10/blog-post_05.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/3539438186215367348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/3539438186215367348'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/10/blog-post_05.html' title='Азтай хулгана'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-5184223587246810457</id><published>2010-10-03T22:27:00.000+08:00</published><updated>2010-10-03T22:27:05.588+08:00</updated><title type='text'>Factorial</title><content type='html'>&lt;b&gt;Тавил:&lt;/b&gt;&lt;br /&gt;N! M-д хуваагдах эсэхийг тогтоо. (N, M-үүд нь 32 битийн натурал тоо)&lt;br /&gt;&lt;a href="http://coder.mn/problems/349"&gt;Эх өгүүлбэр&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Бодолт:&lt;/b&gt;&lt;br /&gt;M-г анхны тоон үржигдэхүүнд задална. Задаргаанд орсон анхны тоо бүр N! -д ямар зэрэгтэйгээр орсныг тогтоогоод харьцуулна. Хэрвээ уг анхны тоо M-д илүү олон зэрэгтэйгээр орсон бол хуваагдах боломжгүй, харин N!-д илүү олон зэрэгтэйгээр орсон бол хуваагдана.&lt;br /&gt;&lt;br /&gt;N!-д тухайн анхны тоо хэдэн зэрэгтэйгээр үржигдэн орсныг дараах аргаар мэдэж болно.&lt;br /&gt;Анхны тоон зэрэг = [N/p] + [N/p&lt;sup&gt;2&lt;/sup&gt;] + [N/p&lt;sup&gt;3&lt;/sup&gt;] + ...&lt;br /&gt;[n] - n тооны бүхэл хэсэг.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-5184223587246810457?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/5184223587246810457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/10/factorial.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5184223587246810457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5184223587246810457'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/10/factorial.html' title='Factorial'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-4867112283186559299</id><published>2010-10-03T22:20:00.001+08:00</published><updated>2010-10-03T22:50:29.078+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><title type='text'>Хамгийн анхны тоо</title><content type='html'>&lt;b&gt;Тавил:&lt;/b&gt;&lt;br /&gt;Өгөгдсөн N (N &amp;lt;= 10&lt;sup&gt;33&lt;/sup&gt;) хүртэлх тоонуудаас давтагдаагүй хамгийн олон анхны тоонуудын үржвэрт задардаг тоог олно уу.&lt;br /&gt;&lt;a href="http://coder.mn/problems/384"&gt;Эх өгүүлбэр&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Бодолт:&lt;/b&gt;&lt;br /&gt;Хариу: 2-оос эхлэн анхны тоонуудын үржвэр. Гэхдээ N-ээс халихгүйгээр. N-ээс халихгүй гэхээр анхны тоонуудын тоо тийм ч олон биш, анхны тооны таблицаас харж байгаад л үржүүлчихэж болно ;)&lt;br /&gt;(Бодолтонд N-н хязгаар нэлээн өндөр тул том тооны үйлдэл ашиглах байх)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-4867112283186559299?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/4867112283186559299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/10/blog-post_2367.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/4867112283186559299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/4867112283186559299'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/10/blog-post_2367.html' title='Хамгийн анхны тоо'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-9061793799556964552</id><published>2010-10-03T22:16:00.000+08:00</published><updated>2010-10-03T22:16:08.927+08:00</updated><title type='text'>Stripes</title><content type='html'>&lt;b&gt;Тавил:&lt;/b&gt;&lt;br /&gt;Тэгш өнцөгт координатын системд зурагт үзүүлсэн шиг судлуудыг үүсгэсэн бол өгөгдсөн тэгш өнцөгт дотор хэдэн ширхэг хар нүд байгааг ол. X1, Y1, X2, Y2 буюу тэгш өнцөгтийн зүүн доод булан, баруун дээд булангийн координатууд өгөгдөнө.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://i46.tinypic.com/13zwcxx.jpg" alt="stripes" style="width:300px;" /&gt;&lt;/center&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Бодолт:&lt;/b&gt;&lt;br /&gt;sudal(x, y) гэсэн функцаар (0,0) цэгээс (x,y) хүртэлх тэгш өнцөгтийн дотор хар нүдний тоог тэмдэглэвэл олох ёстой хариу маань:&lt;br /&gt;sudal(x2, y2) + sudal(x1, y1) - sudal(x2, y1) - sudal(x1, y2)&lt;br /&gt;болно.&lt;br /&gt;&lt;br /&gt;Одоо харин sudal(x, y) функцийн утгыг олох нь маш хялбархан юм. Доорх зурагт дүрсэлсэний дагуу улаан хүрээтэй хэсгийн утгыг, бас цэнхэр хүрээтэй хэсгийнхийг тус тусад нь олоод л болчихно.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://i52.tinypic.com/bey7uq.jpg" alt="stripes" style="width:300px;" /&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-9061793799556964552?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/9061793799556964552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/10/stripes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/9061793799556964552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/9061793799556964552'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/10/stripes.html' title='Stripes'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i46.tinypic.com/13zwcxx_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-1641838388285446600</id><published>2010-10-03T21:56:00.001+08:00</published><updated>2010-10-03T22:50:39.517+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><title type='text'>Дундаж</title><content type='html'>&lt;b&gt;Тавил:&lt;/b&gt;&lt;br /&gt;N (N&amp;lt;=10000) урттай натурал тоон дараалал өгөгдөв. Аль нэг хоёр (тэр хоёрынхоо нэг нь өөрөө байж болно) элэмэнтийнх нь арифметик дундаж болдог дарааллын элэмэнтийг дундаж гэе. Тэгвэл уг дараалалд хичнээн дундаж байгааг тоол.&lt;br /&gt;&lt;a href="http://coder.mn/problems/332"&gt;Эх өгүүлбэр&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Бодолт:&lt;/b&gt;&lt;br /&gt;Эхлээд уг дарааллаа эрэмбэлье. (Quicksort ~ O(N*LogN))&lt;br /&gt;Дараа нь уг эрэмбэлэгдсэн дарааллын аль нэг элэмэнтийг (K дугаарх) дундаж мөн эсэхийг тогтооё.&lt;br /&gt;Хэрвээ аль нэг хөрш элэмэнт нь тухайн элэмэнттэй тэнцүү бол тэр элэмэнт дундаж болж чадна.&lt;br /&gt;(A[K+1] == A[K] OR A[K] == A[K-1])&lt;br /&gt;&lt;br /&gt;Аль ч хөрш нь өөртэй нь тэнцүү биш бол өөрөөс нь их болон бага нэг нэг элэмэнтийн дундаж л байх боломжтой. A[K] = (A[K-j] + A[k+i]) / 2&lt;br /&gt;Мөн A[K+i]-A[K] болон A[K]-A[K-j] ялгаварууд хоорондоо тэнцүү үед л уг A[K] элэмэнт маань дундаж болно гэж үзэж болох ба i, j өсөхөд тус ялгаварууд мөн дагаж өсөх тул хэрвээ аль нэг ялгавар нь нөгөөгөөсөө бага байвал тухайн i юм уу j коэффицэнтийн утгыг нэмээд яваад байх боломжтой.&lt;br /&gt;if (A[K+i]-A[K] &lt; A[K]-A[K-j]) i++; else j++;&lt;br /&gt;Гэхмэтчилэнгээр дарааллын аль нэг зах хүртэл юм уу, K дахь элэмэнт дундаж болох нь батлагдах хүртэл энэ давталтыг явуулна.&lt;br /&gt;&lt;br /&gt;Уг бодолт нь хамгийн муу тохиолдолд O(N*N) юм. Гэхдээ дундаж тохиолдолд үүнээс хамаагүй хурдан ажиллана.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-1641838388285446600?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/1641838388285446600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/10/blog-post_03.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/1641838388285446600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/1641838388285446600'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/10/blog-post_03.html' title='Дундаж'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-1114635802680087551</id><published>2010-10-03T21:37:00.000+08:00</published><updated>2010-10-03T21:37:56.737+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><title type='text'>Квадрат</title><content type='html'>&lt;b&gt;Тавил:&lt;/b&gt;&lt;br /&gt;Өгөгдсөн N (1 &amp;lt;= N &amp;lt;=100000) тоог хамгийн цөөндөө хичнээн тооны квадратуудын нийлбэрт тавьж болох вэ?&lt;br /&gt;[&lt;a href="http://coder.mn/problems/363"&gt;Эх өгүүлбэр&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Бодолт:&lt;/b&gt;&lt;br /&gt;Ямар ч натурал тоог 4 бүхэл тооны квадратуудын нийлбэр хэлбэрт &lt;a href="http://en.wikipedia.org/wiki/Lagrange's_four-square_theorem"&gt;тавигддаг&lt;/a&gt; гэсэн теоремын дүгнэлтийг шууд авч ашиглавал бидний гаргах ёстой хариулт маань 1, 2, 3, 4 гэсэн 4 утгын нэг байх юм.&lt;br /&gt;&lt;br /&gt;N &amp;lt;= 100000 гэдгийг анхаарвал хариулт нь 1 байх тоонуудыг ойролцоогоор 320 удаагийн үйлдлээр (1х1, 2х2, 3х3, ... , 320х320), хариулт нь 2 байх тоонуудыг 320х320 удаагийн үйлдлээр, хариулт нь 3 байх тоонуудыг 320х320х320 (1 секундэд амжиж байна лээ :D) удаагийн үйлдлээр бүгдийг нь бүртгээд массивт хадгалчихаж болно. Харин массивын утга нь 0 байгаа тоонууд нь хамгийн цөөндөө 4 квадрат тооны нийлбэрт тавигдах тоонууд болж таарах юм.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-1114635802680087551?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/1114635802680087551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/10/blog-post.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/1114635802680087551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/1114635802680087551'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/10/blog-post.html' title='Квадрат'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-7269034739028899267</id><published>2010-08-27T10:58:00.000+08:00</published><updated>2010-08-27T10:58:58.054+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Contest-Diary'/><category scheme='http://www.blogger.com/atom/ns#' term='Topcoder'/><title type='text'>Topcoder Diary - SRM 480 (Division 2)</title><content type='html'>Яагаад ч юм өмнө нь тэмдэглэж авсан дээр маань өглөө 7-цагаас болно гэчихсэн байхаар нь хар эрт 6 цагт сэрээд бүртгүүлчихээд харсан чинь 9 цагаас эхэлнэ гэж байдаг юм даа. И-мэйл-ээр ирсэн хуваарь дээрээ бол яалт ч үгүй 9 цагаас л байна лээ л дээ :P Бүүр сарын өмнөөс календарь дээрээс нь тэмдэглэж авсан болохоор дөхүүлээд цагаа өөрчилдөг ч байж магадгүй. Эсвэл би будилж бүтэлгүйтсэн бололтой ^^&lt;br /&gt;&lt;br /&gt;Энэ удаа манайхаас доорх хүмүүс оролцжээ.&lt;br /&gt;Div1-д: Khongor, Chamka&lt;br /&gt;Div2-д: Khuyagbaatar, lmo0731, gmunkhbaatarmn, nursoltan_h, Jaamaa&lt;sup style="color:green"&gt;2nd contest!&lt;/sup&gt;, almabek, Jaamaa&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Coding phase&lt;/h2&gt;&lt;b&gt;Easy&lt;/b&gt;&lt;br /&gt;Мөн л өмнөх шигээ хурдан бодчихлоо. Шууд тэстээ гүйлгэж хараад л ямархуу үйлдэл хийхээ баримжаалаад л өгүүлбэрээ нэг уншаад л бодолтондоо орсон. Ойрд practice хийгээгүйн гай гарч дэмий юман дээр цаг алдсаныг эс тооцвол дажгүй шүү. 250-аас 247 оноо. (Ойрд яасан романтик оноо аваад байна аа ^^)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Medium&lt;/b&gt;&lt;br /&gt;Үнэхээрийн хайнга бодсон доо. Өгүүлбэр нь амархан санагдаад, за энийг л бодчихвол энэ тэмцээний норм хангагдчих юм чинь гээд яарсан ч үгүй :P 500-аас 354 оноо.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Hard&lt;/b&gt;&lt;br /&gt;Анх тэмцээн эхлэхэд 900 онооны бодлого болохоор нь (ихэнхдээ 1000 байдаг) энэ ч өмнөхүүдээ бодвол амархан "hard" байгаа байхдаа гэж бодсон. Уг нь өгүүлбэрийг нь ойлгочихвол маний эзэмшсэн зэвсгийн эрдмээр бол нухчихаар л эд байна гэж бодоод өөрийгөө зоригжуулаад нэлээн нухлаа. Өрөөн дотроо баахан дэмий эргэцүүлж ганцаараа ярин байж жаал жуул нууцад нь нэвтэрлээ :) Greedy + Brute Force (элэмэнтүүдийнхээ алийг нь төгсгөлд нь тавих вэ гэдгээ бүгдийг нь шалгаж үзнэ)&lt;br /&gt;Яг бодчихоод тэстэлтэл нэг л биш ээ, сайн харлаа. Дахиад сайн харлаа. Тэнэг чинь бодлогын өгүүлбэрийн 3 дахь нөхцлийг огт тооцоогүй байна шд (үнэхээр тэнэг байгаа биз?) Тооцоондоо багтаахад нэг их төвөг орсонгүй. Хугацаа дуусахаас 4 минутын өмнө submit хийлээ. 900-аас 407 оноо.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Challenge phase&lt;/h2&gt;Огт сорилт (challenge) хийсэнгүй.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;System test phase&lt;/h2&gt;Waiting ^^&lt;br /&gt;500-дээрээ алдчихсан юм шиг байна (Lmo`s analiz :D)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-7269034739028899267?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/7269034739028899267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/08/topcoder-diary-srm-480-division-2.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7269034739028899267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7269034739028899267'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/08/topcoder-diary-srm-480-division-2.html' title='Topcoder Diary - SRM 480 (Division 2)'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-2315640804879009108</id><published>2010-08-20T11:47:00.003+08:00</published><updated>2010-08-20T12:01:33.280+08:00</updated><title type='text'>IOI Day 2 Бодлого 2</title><content type='html'>Бодлого 2: Traffic Congestion.&lt;span id="fullpost"&gt;&lt;br /&gt;Канад улсын иргэд хокэй үзэх үнэхээр дуртай. Тэд хокэйг шууд талбай дээр нь үзэхийн тулд улсын өнцөг булан бүрээс ирдэг. Харин тэмцээн дууссны дараа бүгд машиндаа суугаад харих хэрэгтэй ба ганц бэршээл нь маш их машин ирсэн учраас зам дээрх машины тоо хэтэрхий ихсэнэ. Нэгэн баян үйлдвэрийн эзэн хоккэйн баг худалдаж авсан ба түүндээ зориулж шинэ талбай барих болов. Таны даалгавар бол энэ баякаад тусалж хоккэйн талбай барих хамгийн тохиромжтой хотыг олно уу. Тохиромжтой гэдэг нь тэмцээн дууссны дараа зам дээр яваа машины тоог хамгийн бага байлгахаар хот юм.&lt;br /&gt;Канад улс нь хоорондоо 2 чиглэлт замаар холбогдсон хотуудаас тогтоно. Аль нэг 2 хотын хооронд яг ганц замын маршруттай. Барих шинэ талбай нь энэ хотуудын аль нэг хотод баригдах ёстой. Мэдээж тэмцээн дууссны дараа тухайн хотын иргэдээс бусад нь бүгд машиндаа суугаад харьж таарна. Тухайн зам дээрх машины тоо нь тухайн замыг ашиглаж өөрийн хотдоо очиж байвал эдгээр хотуудын хоккэй-д дуртай хүмүүсийн нийлбэр байна. Таны програм талбай баригдсан хотын хамгийн их машин явах замын машины тоог хамгийн бага байлгах ёстой. Олон хариу байхыг үгүйсгэхгүй ба энэ тохиолдолд аль нэгийг гаргаж болноо. Та LocateCentre(N,P,S,D) процедурыг зохиох ба энд N нь бүх хотуудын тоог илтгэх эерэг бүхэл тоо, хотуудыг 0-ээс N-1 хүртэл дугаарлана, P нь N ширхэг тоог агуулсан массив байх ба 0&lt;=i&lt;=N-1 байх P[i] болгонд i-р хотын хоккэй үзэх фанатуудын тоо. Бүх хотуудад байгаа фанатуудын тоо нь хамгийн ихдээ 2 000 000 000 байх болно. S болон D нь мөн массив байх ба тус бүр N-1 элементтэй. S[i] D[i] нь энэ 2 хотын хооронд замтайг илтгэнэнэ. Таны зохиосон процедур зөвхөн талбайг барих хотын дугаарыг буцаах ёстой. &lt;br /&gt;Жишээ: Доорх жишээнд эхний зурганд 0 1 2 гэсэн хотууд тус тус 10 хокэй сонирхохгчтой, 3 4 гэсэн хотууд тус бүр 20 сонирхогчтой. 2 дахь зурганд хокэйн талбайг 2 гэсэн дугаартай хотод барьвал хамгийн их машинтай зам нь 40 болохыг харуулж байна.3 дахь зурганд талбайг 3 гэсэн хотод барьвал хамгийн их машинтай зам нь 30 болохыг харуулсан байна. Эндээс 3 дугаартай хот нь 2 дугаартай хотоос илүү тохирох болохыг харуулж байна. &lt;br /&gt;&lt;br /&gt; &lt;/span&gt;&lt;/a&gt;&lt;span id="fullpost"&gt;&lt;n 000="" s="" d="" 0="" 1="" 10="" 4="" 20="" 40="" 30="" 3="" 2=""&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://plg1.cs.uwaterloo.ca/%7Egvcormac/day2task2/traffic-example.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 362px; height: 491px;" src="http://plg1.cs.uwaterloo.ca/%7Egvcormac/day2task2/traffic-example.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Эхний 25 онооны тест нь:&lt;/b&gt;&lt;br /&gt;   Хотуудыг зүүнээс баруун хүртэл шулуун шугаман байрлуулсан гэж үз. Ямар ч мөчөр байхгүй. Эндэ хамгийн ихдээ 1000 хот байна.&lt;br /&gt;&lt;b&gt;2 дахь 25 онооны тестүүд:&lt;/b&gt;&lt;br /&gt;  Хотууд адилхан шугаман байрлуулсан ба хамгийн ихдээ 1 000 000 хотууд байгаа гэж үд&lt;br /&gt;&lt;b&gt;3 дахь 25 онооны тестүүд:&lt;/b&gt;&lt;br /&gt;  Шугаман байх албагүй ба хамгийн ихдээ 1000 хот байгаа гэж үз&lt;br /&gt;&lt;b&gt;4 дахь 25 онооны тестүүд:&lt;/b&gt;&lt;br /&gt;Мөн шугаман байрлах албагүй ба  хамгийн ихдээ 1 000 000 хот байгаа гэж үз.&lt;br /&gt;&lt;br /&gt;&lt;/n&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-2315640804879009108?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/2315640804879009108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/08/ioi-day-2-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/2315640804879009108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/2315640804879009108'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/08/ioi-day-2-2.html' title='IOI Day 2 Бодлого 2'/><author><name>Dunno</name><uri>http://www.blogger.com/profile/01586840450646525198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-WOgjofyaPN0/TusNhzB99eI/AAAAAAAAAYc/m3dGaCmgOEo/s220/sss.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-7226671083542503039</id><published>2010-08-20T11:33:00.002+08:00</published><updated>2010-08-20T11:46:50.401+08:00</updated><title type='text'>IOI Day 2 Бодлого 1</title><content type='html'>Бодлого 1: Memory&lt;span id="fullpost"&gt;&lt;br /&gt;Жак Мемори гэдэг тоглоом тоглох дуртай ба энэ  тоглоом нь 50 ширхэг хөзөрөөр тоглодог ба хөзөр бүр дээр латин цагаан толгойн A-Y үсэг наасан байгаа. Тэгэхээр нэг үсэг яг 2 ширхэг байна. Тоглохдоо хөзөрөө хольж байгаад үсэг наасан талыг доош нь харуулан тавиад хоёр хоёр хөзөр сонгож тухайн үсэгнүүдийг хараад буцааж доош нь харуулж тавина. Хэрэв сонгосон 2 хөзөр адилхан байвал Жак ээжээсээ чихэр авах юм. Хэрэв дахин нөгөө 2 хөзөрөө гаргаад ирвэл дахиж чихэр авахгүй. Энэ тоглоом нь Жак 25 ширхэг чихэрээ авсны дараа дуусах юм. Таны даалгавар бол Жакыг орлох Play процедурыг зохиох явдал юм. Таны програм тест зохиогчидын хэрэгжүүлцэн байгаа faceup(C) функцыг дуудах ёстой ба энэ функц нь C дугаар хөзөр дээрх үсгийг буцаана. С нь мэдээж 1-ээс 50 хооронд байх ба таны сөхөж үзэх хүсэлтэй тоо юм. Хөзөр сөхө явцад 2 дахь сөхсөн хөзөр болгоны дараа тухайн сонгосон 2 хөзөрийг доош нь харуулан дахин тавина. Таны зохиосон процедур зөвхөн Жакыг 25 чихрээ авсан тохиолдолд л дууса юм. &lt;br /&gt;Жишээ:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;table border="1" cellpadding="2"&gt;&lt;br /&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Дуудалт&lt;/th&gt;&lt;th&gt;Буцаасан утга&lt;/th&gt;&lt;th&gt;Тайлбар&lt;br /&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;faceup(1)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;'B'&lt;/td&gt;&lt;td&gt;1-р хөзөрт B үсэг.&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;faceup(7)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;'X'&lt;/td&gt;&lt;td&gt;7-р хөзөрт X үсэг. Сонгосон 2 хөзөр маань адилхан биш&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="text-align: center; font-style: italic;"&gt;Нээсэн 1 болон 7-р хөзөрүүд буцаан доош харуулан тавигдана&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;faceup(7)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;'X'&lt;/td&gt;&lt;td&gt;7-р хөзөрт X үсэг.&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;faceup(15)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;'O'&lt;/td&gt;&lt;td&gt;15-р хөзөрт O үсэг. Сонгосон 2 хөзөр маань адилхан биш&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="text-align: center; font-style: italic;"&gt;Нээсэн 7 болон 15-р хөзөрүүд буцаан доош харуулан тавигдана&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;faceup(50)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;'X'&lt;/td&gt;&lt;td&gt;50-р хөзөрт X үсэг.&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;faceup(7)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;'X'&lt;/td&gt;&lt;td&gt;7-р хөзөрт X үсэг. Сонгосон 2 хөзөр ижил учир Жак эхнийхаа чихэрийг авав.&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="text-align: center; font-style: italic;"&gt;Нээсэн 50 болон 7-р хөзөрүүд буцаан доош харуулан тавигдана&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;faceup(7)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;'X'&lt;/td&gt;&lt;td&gt;7-р хөзөрт X үсэг.&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;faceup(50)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;'X'&lt;/td&gt;&lt;td&gt;50-р хөзөрт X үсэг. Сонгосон 2 хөзөр ижил гэвч чихэр авахгүй.&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="text-align: center; font-style: italic;"&gt;Нээсэн 7 болон 50-р хөзөрүүд буцаан доош харуулан тавигдана&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;faceup(2)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;'B'&lt;/td&gt;&lt;td&gt;2-р хөзөрт B үсэг.&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="text-align: center; font-style: italic;"&gt;...&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="text-align: center; font-style: italic;"&gt;(энэ мэтчилэн функцууд дуудагдсаар)&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="text-align: center; font-style: italic;"&gt;...&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;faceup(1)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;'B'&lt;/td&gt;&lt;td&gt;1-р хөзөрт B үсэг.&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;faceup(2)&lt;/b&gt;&lt;/td&gt;&lt;td&gt;'B'&lt;/td&gt;&lt;td&gt;2-р хөзөрт B үсэг. Жак 25 дахь чихэрээ авав.&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;Эхний 50 оноо:&lt;/b&gt; хугацаандаа амжиж ажиллаад байвал авч чадна.&lt;br /&gt;&lt;b&gt;2 дахь 50 оноо:&lt;/b&gt; faceup(C) функц 100-аас илүү дуудагдах ёсгүй.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-7226671083542503039?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/7226671083542503039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/08/ioi-day-2-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7226671083542503039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7226671083542503039'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/08/ioi-day-2-1.html' title='IOI Day 2 Бодлого 1'/><author><name>Dunno</name><uri>http://www.blogger.com/profile/01586840450646525198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-WOgjofyaPN0/TusNhzB99eI/AAAAAAAAAYc/m3dGaCmgOEo/s220/sss.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-8376276555289260534</id><published>2010-08-19T13:51:00.002+08:00</published><updated>2010-08-19T13:55:15.604+08:00</updated><title type='text'>IOI2010 Day 1 Бодлого 4</title><content type='html'>Бодлого 4: Language&lt;span id="fullpost"&gt;&lt;br /&gt;Таньд Википедиа-гаас ямар нэгэн билэг өгөгдсөн бол ямар хэл болохыг нь таана уу. Оролдсон оролдлогоо ашиглан зөв хариуг ол. Хэл болгон 0&lt;=L&lt;=55  тоогоор төлөөлөгдөнө. Бүх бичлэгүүд яг 100 тэмдэгтээс тогтох ба, үүнийг бүхэл тоон төрлийн 100 элементтэй 1-ээс 65535 хүртлэх утга авах E массив төлөөлнө. Та excerpt(E) процедурыг зохиох ёстой. Таны процедур language(L)-г дуудах ёстой ба хэрэв language(L) = L бол зөв гэж үзнэ. Таны excerpt(E) нийт 10000 удаа дуудах ба хэдэн бичлэгийн хэлний кодыг зөв олсноор нь таны програмын хэр оновчтойг тодорхойлох болно. Жишээ энтэрийг &lt;a href="http://plg1.cs.uwaterloo.ca/~gvcormac/day1task4/"&gt;эндээс үзнүү&lt;/a&gt;  :D.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-8376276555289260534?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/8376276555289260534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/08/ioi2010-day-1-4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8376276555289260534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8376276555289260534'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/08/ioi2010-day-1-4.html' title='IOI2010 Day 1 Бодлого 4'/><author><name>Dunno</name><uri>http://www.blogger.com/profile/01586840450646525198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-WOgjofyaPN0/TusNhzB99eI/AAAAAAAAAYc/m3dGaCmgOEo/s220/sss.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-2483573950359524269</id><published>2010-08-19T13:47:00.003+08:00</published><updated>2010-08-19T14:05:00.464+08:00</updated><title type='text'>IOI2010 Day 1 Бодлого 3</title><content type='html'>Бодлого 3: Quality of living.&lt;span id="fullpost"&gt;&lt;br /&gt;Албертаа дахь хотуудыг дөрвөлжин шугамтай цаасан дээр хойноос урд хүртлэхийг 0-ээс R-1 хүртэл дугаарлаж, баруунаас зүүн хүртлэхийг 0ээс C-1 хүртэл дугаарлан дүрслэж болох юм. Хот бүрийн чансааг тогтоосон байдаг ба тухайн нүд бүрт тухайн хотын чансааг илтгэх 1-ээс R*C тоог бичсэн байгаа. Чансаа нь 1 байвал хамгийн өндөр чансаа, R*C хамгийн муу. Хот төлөвлөлтийн газар дундаж чансаа хамгийн өндөр HxW хэмжээтэй тэгш өнцөгт газрыг сонгож авахыг хүсч байгаа. H W  нь R C тоонуудаас тус бүр хэтрэхгүй сондгой тоонууд байх болно. Ямар нэгэн H W хэмжээтэй тэгш өнцөгт газрын хувьд дундаж чансааг дараах байдлаар тодорхойлно. Дундаж чансаа нь уг газрын аль нэг нүдэн дэх чансаа байх бөгөөд уг чансаанаас бага чансаатай нүдний тоо нь уг чансаанаас их чансаатай нүдний тоотой тэнцүү. Өөрөөр хэлбэл H W ширхэг тоог цувуулж бичээд эрэмбэлэхэд голын тоо нь гэсэн үг. Таны даалгавар бол бүх H W хэмжээтэй тэгш өнцөгт газрууд дотроос хамгийн сайн (утгаараа бага) дундаж чансааг олох rectangle(R,C,H,W,Q) процедурыг зохиох юм. Энд Q нь Q[a][b]-д орших хотын чансааг агуулсан массив юм.&lt;br /&gt;&lt;pre&gt;&lt;b&gt;R&lt;/b&gt;=5, &lt;b&gt;C&lt;/b&gt;=5, &lt;b&gt;H&lt;/b&gt;=3, &lt;b&gt;W&lt;/b&gt;=3, &lt;br /&gt;&lt;b&gt;Q&lt;/b&gt;=  5 11 12 16 25&lt;br /&gt;17 18 &lt;b&gt; 2  7 10&lt;/b&gt;&lt;br /&gt;4 23 &lt;b&gt;20  3  1&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;24 21 &lt;b&gt;19 14  &lt;i&gt;9&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;6 22  8 13 15&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;rectangle(R,C,H,W,Q)=9&lt;br /&gt;Дээрх жишээнд m=9 мөн бодлогын нөхцөлыг хангах хотуудыг дотруулсан байна.&lt;br /&gt;Жишээ2:&lt;br /&gt;&lt;pre&gt;&lt;b&gt;R&lt;/b&gt;=2, &lt;b&gt;C&lt;/b&gt;=6, &lt;b&gt;H&lt;/b&gt;=1, &lt;b&gt;W&lt;/b&gt;=5, &lt;br /&gt;&lt;b&gt;Q&lt;/b&gt;=  6  1  2 11  7  5&lt;br /&gt;9  3  4 10 12  8&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;rectangle(R,C,H,W,Q)=5&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-2483573950359524269?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/2483573950359524269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/08/ioi2010-day-1-3.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/2483573950359524269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/2483573950359524269'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/08/ioi2010-day-1-3.html' title='IOI2010 Day 1 Бодлого 3'/><author><name>Dunno</name><uri>http://www.blogger.com/profile/01586840450646525198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-WOgjofyaPN0/TusNhzB99eI/AAAAAAAAAYc/m3dGaCmgOEo/s220/sss.PNG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-926648243263999128</id><published>2010-08-19T13:40:00.002+08:00</published><updated>2010-08-19T13:46:14.690+08:00</updated><title type='text'>IOI2010 Day 1 Бодлого 2</title><content type='html'>Боодлого 2:  Hotter Colder&lt;span id="fullpost"&gt;&lt;br /&gt;Жак Жилл 2 Хоттер Колдер гэх тоглоом тоглдог. Жилл 1-N хүртлэх тооноос нэгийг санаж, Жак таахыг хэд хэдэн удаа оролдоно. Мэдээж Жак-н хэлж буй тоонууд нь 1-N завсарт байх ба оролдлого бүрт Жак hotter, colder, same гэсэн хариултыг өгнө. Жакын эхний оролдлогонд Жилл same гэсэн хариултыг өгнө. Үлдсэн оролдлогуудад Жилл дараах нөхцөлийг харж хариултаа хэлнэ.&lt;br /&gt;• Хэрэв Жиллын санасан тоонд  Жакын одоогийн хэлсэн тоо нь Жакын өмнөх оролдлогонд хэлсэн тооноос илүү ойрхон байвал hotter.&lt;br /&gt;• Хэрэв Жиллын санасан тоонд Жакын одоогийн хэлсэн тоо нь Жакын өмнөх оролдлогонд хэлсэн тооноос илүү хол байвал colder.&lt;br /&gt;• Хэрэв хол ч биш ойрхон ч биш бол same.&lt;br /&gt;Таны даалгавар бол Жакын үүргийг гүйцэтгэх HC(N)  програм зохио. Guess(G)  нь 1&lt;=G&lt;=N ба 1 утга буцаавал hotter -1 утга буцаавал colder, 0 утга буцаавал same . HC(N) функц нь Жиллын санасан тоог буцаах ёстой.&lt;br /&gt;Жишээ.&lt;br /&gt;Доорх жишээнд  N=5 мөн Жилл 2 гэсэн тоог санасан болно. &lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;table border="1" cellpadding="2"&gt;&lt;br /&gt;&lt;tr&gt;&lt;th&gt;Дуудалт&lt;th&gt;Буцаасан утг&lt;th&gt;Тайлбар&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Guess(5)&lt;/b&gt;&lt;td&gt;0&lt;td&gt;Same анхны дуудалтаар буцаана гэж байгаа&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Guess(3)&lt;/b&gt;&lt;td&gt;1&lt;td&gt;Hotter&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Guess(4)&lt;/b&gt;&lt;td&gt;-1&lt;td&gt;Colder&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Guess(1)&lt;/b&gt;&lt;td&gt;1&lt;td&gt;Hotter&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Guess(3)&lt;/b&gt;&lt;td&gt;0&lt;td&gt;Same&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-926648243263999128?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/926648243263999128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/08/ioi2010-day-1-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/926648243263999128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/926648243263999128'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/08/ioi2010-day-1-2.html' title='IOI2010 Day 1 Бодлого 2'/><author><name>Dunno</name><uri>http://www.blogger.com/profile/01586840450646525198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-WOgjofyaPN0/TusNhzB99eI/AAAAAAAAAYc/m3dGaCmgOEo/s220/sss.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-8822954639816837040</id><published>2010-08-19T13:31:00.005+08:00</published><updated>2010-08-19T13:47:09.363+08:00</updated><title type='text'>IOI2010 Day 1 Бодлого 1</title><content type='html'>&lt;b&gt;Бодлого 1: Cluedo&lt;/b&gt; &lt;span id="fullpost"&gt;&lt;br /&gt;Эрхэм Хар( hehe ) хүн амьний хэрэгт холбогдов. Мөрдөгч Жилл алуурчид, хэргийн газар, хэрэг үйлдсэн зэвсгүүдийг илэрүүлсэн байв. Энд 1ээс 6 хүртэл дугаарласан сэжигтэй алуурчид 1ээс 10 хүртэлх сэжигтэй хэргийн газар, мөн 1ээс 6 хүртэл дугаарласан сэжигтэй зэвсэгүүд байв. Жилл эдгээр илэрүүлсэн зүйлүүдээ ашиглаад байж болох хослолуудыг зохиогоод үүнийгээ Theory гэж нэрлэв. Мөн Жилл өөрийн туслах Жак-д хэлж үүнийг үнэн эсэхийг шалгах даалгавар өгөв. Хэрэв Жак Жиллийн хэлсэн Theory-г үнэн гэдэгийг баталж чадвал Жиллийн ажил дуусна. Эсрэг тохиолдолд Жилл дахин өөр боломжтой Theory-г Жак-д санал болгоно. &lt;br /&gt; Таны даалгавар бол Жилл-ийн үүргийг сайн биелүүлэх процедур зохиох явдал юм. Таны функцийг маш олон удаа дуудах ба дуудагдах бүрд Theory(M,L,W) байна. Энд M-алуурчины дугаар, L-хэрэг болсон газарын дугаар, W-зэвсэгийн дугаарыг агуулсан theory байна. Таны функц 0 утга буцаавал Жак баталж чадсан эсрэг тохиолдолд буюу 1 2 3 гэсэн аль нэг утга буцаавал няцаагдах юм. Эндэ 1-алуурчин буруу, 2-хэргийн газар буруу, 3-зэвсэг буруу гэдэгийг илтгэнэнэ. &lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;table border="1"&gt;&lt;br /&gt;&lt;tr&gt;&lt;th&gt;Дуудалт&lt;th&gt;Буцаасан утга&lt;th&gt;тайлбар&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Theory(1, 1, 1)&lt;td&gt;1, or 2, or 3&lt;td&gt;3-уулаа буруу&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Theory(3, 3, 3)&lt;td&gt;1, or 3&lt;td&gt;Зөвхөн хэргийн газарыг зөв оруулжээ&lt;br /&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Theory(5, 3, 4)&lt;td&gt;1&lt;td&gt;Зөвхөн алуурчинг буруу оруулжээ&lt;br /&gt;&lt;tr&gt;&lt;td&gt;Theory(2, 3, 4)&lt;td&gt;0&lt;td&gt;Энэ удаад баталж чаджээ.&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-8822954639816837040?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/8822954639816837040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/08/ioi-day-1-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8822954639816837040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8822954639816837040'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/08/ioi-day-1-1.html' title='IOI2010 Day 1 Бодлого 1'/><author><name>Dunno</name><uri>http://www.blogger.com/profile/01586840450646525198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-WOgjofyaPN0/TusNhzB99eI/AAAAAAAAAYc/m3dGaCmgOEo/s220/sss.PNG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-6538625531155851699</id><published>2010-08-15T01:47:00.001+08:00</published><updated>2010-08-15T02:15:57.660+08:00</updated><title type='text'>Topcoder Diary - SRM 479 (Division 2)</title><content type='html'>Энэ удаа манайхаас доорх хүмүүс оролцжээ.&lt;br /&gt;Div1-д: Chamka, XaCaHaa, lmo0731&lt;br /&gt;Div2-д: Khuyagbaatar, gmunkhbaatarmn, nursoltan_h, almabek, Jaamaa&lt;sup style="color:red"&gt;new!&lt;/sup&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Coding phase&lt;/h2&gt;&lt;b&gt;Easy&lt;/b&gt;&lt;br /&gt;Өмнөх SRM дээр туршиж үзсэн аргаар эхлээд тэстээ гүйлгэж хараад дараа нь бодлогынхоо өгүүлбэрийг харлаа. Овоо хурдан ойлгочихлоо. Амархан ч бодлого юм. 250-аас 247.92 оноо. (Хувийн рекорд ^^)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Medium&lt;/b&gt;&lt;br /&gt;За ёстой бүү мэд. Эхлээд greedy маягийн юм бичиж үзсэн болоогүй. Дараа нь нэг юмыг нь л sort хийх хэрэгтэй юм байна гэж бодсон. Тэрийгээ хайсаар байгаад цаг дуусгалаа даа :(&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Hard&lt;/b&gt;&lt;br /&gt;Нээж ч харж амжсангүй :)&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Challenge phase&lt;/h2&gt;500 онооны бодлогыг нэг нөхөр хэтэрхий хялбарчлаад бодчихсон байсныг нь нээж үзээд ямар тэст зохиох вэ гэж бойтоглох зуур хэн нэгэн нь өрсчихвөө. "Challenge Succeeded". Өөр онц юм болсонгүй. Манай өрөөнд 1000-онооны бодлогоо бодсон хүн ч гарсангүй. 250 дээр алдаж магадгүй юм ч байсангүй. 500-гийн тухайд бол систем тэст дээр нэлээн их хүн унах байх даа :D&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;System test phase&lt;/h2&gt;Waiting ^^&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-6538625531155851699?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/6538625531155851699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/08/topcoder-diary-srm-479-division-2.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6538625531155851699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6538625531155851699'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/08/topcoder-diary-srm-479-division-2.html' title='Topcoder Diary - SRM 479 (Division 2)'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-6527417659434113418</id><published>2010-08-04T20:58:00.000+08:00</published><updated>2010-08-04T20:58:53.132+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Contest-Diary'/><category scheme='http://www.blogger.com/atom/ns#' term='Topcoder'/><title type='text'>Topcoder Diary - SRM 478 (Division 2)</title><content type='html'>За ёстой бөөн адал явдал гэхээс өөр юу гэхэв. Тэмцээн болтол түр гараад ирьюүү гээд гарчихаад ирсэн чинь тэмцээн эхэлснээс бараг 10 минутын дараа л орж ирж таардаг юм даа. Ямар азаар бодолтын цагийг бодлогоо нээж харсанаас хойш тооцдог юм бэ :)&lt;br /&gt;Энэ удаа манайхаас доорх хүмүүс оролцжээ.&lt;br /&gt;&lt;br /&gt;Div1-д: Khongor&lt;br /&gt;Div2-д: XaCaHaa, lmo0731, ChNbLd, gmunkhbaatarmn, nursoltan_h, almabek&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Coding phase&lt;/h2&gt;&lt;b&gt;Easy&lt;/b&gt;&lt;br /&gt;Урьд нь бодлогынхоо өгүүлбэрийг уншаад дараа нь тэстээ уншаад, тэгээд бодлогын өгүүлбэрээ уншаад, дахин тэстээ уншаад гэх мэтчилэн 4-5 удаа эргэцүүлсэний эцэст бодлогынхоо өгүүлбэрийг ойлгодог байсан бол энэ удаад шууд л эхэлж тэстээ хараад л бодлогынхоо баримжааг аваад л өгүүлбэрийг нь уншсаны дараа дахин нэг удаа тэстээ хальт харчихаад л бодолтоо бичиж эхэллээ. Овоо хурдан амжуулчихлаа. 233 оноо :)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Medium&lt;/b&gt;&lt;br /&gt;Уншаад л. "Ээ за энэ удаад ч 500-гийн бодлогыг барна гэдэг худлаа болчихлоо" гэсэн шүү юм бодогдоод угаасаа хоцорч ирсэн энэ тэрийг тооцвол энэ тэмцээн угаасаа худлаа болчихлоо гээд л цухалдаж эхэндээ баахан суусаныг эс тооцвол дажгүй шүү :P&lt;br /&gt;Эхний үйлдлийг A, дараагийн үйлдлийг B гэвэл. A*B = B*A, A*A*A=B*B болж таарахыг анзаарчихвал бодлого хялбарчлагдана. Өгөгдсөн тоон дээрээ A үйлдлийг л давтан хийсээр байна. Дараа нь 3 удаа A үйлдэл хийгдсэн болгоныг 2 B үйлдэл хийсэн гээд тоолчиход хангалттай. 262 оноо.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Hard&lt;/b&gt;&lt;br /&gt;Хэсэглэл л байгуулаад BruteForce хийж болох юм шиг байсан. Гэхдээ хугацаандаа амжихгүй юм шиг санагдсан. Ямартаа ч би лав үлдсэн хугацаандаа хэсэглэл байгуулах гээд амжсангүй :P&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Challenge phase&lt;/h2&gt;1000 онооны бодлогоо барахаасаа өнгөрлөө гээд чаат-лог хараад сууж байсан чинь 2 шинэков бололтой нөхөр 1000 онооны бодлогоо бараг л нээж харангуутаа эргээд submit хийж байх юм. Шууд л дотроо хүйтнээр инээгээд алгаа үрж challenge phase-г хүлээгээд эхлэнгүүт нь нөгөө хоёрын 1000-онооны бодлогыг дараалан унагаад сул +100 авав. Уг нь ингээд гоё эхэлсэн юм аа. Тэгсэн чинь нэг нөхрийн 250 онооны бодлого нь хугацааны хязгаарлалтаа давчих юм шиг санагдахаар нь 3 удаа амжилтгүй challenge хийгээд -75 оноо. Хаха. Уг нь сул авсан 100 оноогоо хадгалж байсан бол 560 оноотойгоор өрөөндөө нэгт нийт дүнгээр эхний 40-д багтах л байлаа. Гэхдээ энийг бичиж байх хооронд системийн тэст дуусчихаж өрөөндөө 3-рт div2-тоо 55-р байр. Юундаа ч гонсойхов :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-6527417659434113418?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/6527417659434113418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/08/topcoder-diary-srm-478-division-2.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6527417659434113418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6527417659434113418'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/08/topcoder-diary-srm-478-division-2.html' title='Topcoder Diary - SRM 478 (Division 2)'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-3574153896683252387</id><published>2010-07-29T01:00:00.000+08:00</published><updated>2010-07-29T01:00:23.527+08:00</updated><title type='text'>Topcoder Diary - SRM 477 (Division 2)</title><content type='html'>Энэ удаад манайхаас бүүр олон хүн орсон ба шинээр хэд хэдэн хүн нэмэгдсэн байна. Topcoder-т тавтай морил :)&lt;br /&gt;&lt;br /&gt;Div1-д: Khongor&lt;br /&gt;Div2-д: naranbayar_mon, XaCaHaa, Khuyagbaatar, lmo0731, nursoltan_h, gmunkhbaatarmn, almabek, janchiv, gantushig, ChNbLd&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Coding phase&lt;/h2&gt;&lt;b&gt;Easy&lt;/b&gt;&lt;br /&gt;Өгүүлбэрийг нь ойлгох гэж их удсан. 191.58 оноо. Easy-г 200.0-д багтаачих бодол уг нь байдаг юм. Энэ удаад бодолтойгоо л хоцорхоос :P&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Medium&lt;/b&gt;&lt;br /&gt;Сондгой, тэгш мөрүүдийн хувьд тус тусад нь бичих байсныг нэг удаа тэстэлж үзээд мэдсэн, тэгээд засаад бичсэн боловч массивийн индекс тооцохдоо бяцхан алдаа гаргаад хайж олох гэж цаг алдсан. 347.95 оноо. Миний хувьд Medium-аа ямар ч гэсэн бодчихвол болоо гэсэн баримжааг ойрын үед барьж байгаа тул сэтгэл хангалуун байгаа :) Гэхдээ мэдиум нэлээн амархан санагдсан тул өөр их олон хүмүүс бас бодчихсон байх.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Hard&lt;/b&gt;&lt;br /&gt;DP л юм шиг санагдсан.&lt;br /&gt;F(N, K) = (N-K) * F(N-1, K-1) + (K-1) * F(N-2, K-2);&lt;br /&gt;гэсэн DP арай гэж олсон боловч K = {0, 1, 2} үе болон эхний тусгай нөхцлүүдээ буруу бичсэн үү яасан жишээ тэстүүдийг даваагүй. Магадгүй DP маань буруу байсан ч байж болох юм.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Challenge phase&lt;/h2&gt;Манай өрөөнд easy бодлогон дээр бөөн алалцаан болох шив дээ. Хэд хэдэн бодлого уналаа. Гэхдээ би энэ удаад мөн л ангайж харсаар байгаад нэг ч challenge хийсэнгүй.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;System testing phase&lt;/h2&gt;За манай хэд ч ихэнх нь тэстүүдээ давжээ. Ер нь нийтээрээ овоо дориун оролцчихлоо. Улсын рэйтинг ч дагаад өсөх байх даа :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-3574153896683252387?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/3574153896683252387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/07/topcoder-diary-srm-477-division-2.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/3574153896683252387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/3574153896683252387'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/07/topcoder-diary-srm-477-division-2.html' title='Topcoder Diary - SRM 477 (Division 2)'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-8551375446944828502</id><published>2010-07-18T01:48:00.002+08:00</published><updated>2010-07-20T09:54:57.844+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Topcoder'/><title type='text'>Topcoder Diary - SRM 476 (Division 2)</title><content type='html'>За энэ удаад манайхан их олон хүн хүний бүрэлдэхүүнтэйгээр оролцсон байна.&lt;br /&gt;&lt;br /&gt;Div1-д: Khongor, Chamka&lt;br /&gt;Div2-д: XaCaHaa, Khuyagbaatar, lmo0731, nursoltan_h, gmunkhbaatarmn, almabek, naranbayar_mon&lt;br /&gt;&lt;br /&gt;Сониноос Topcoder-ын улс орнуудаар нь жагсаасан үзүүлэлтэд манай улс рейтингтэй болсон байна лээ. &lt;a href="http://www.topcoder.com/stat?c=country_avg_rating"&gt;http://www.topcoder.com/stat?c=country_avg_rating&lt;/a&gt; Одоогоор 52-т жагсаж байгаа юм байна.&lt;br /&gt;&lt;br /&gt;Систем тест хүлээх зуураа diary бичээд сурчихвал зүгээр ч юм уу гэж бодогдоод туршаад үзмээр санагдав. Болох нь уу үгүй юу үзээдхэе :D&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Coding phase&lt;/h2&gt;&lt;b&gt;Easy - MatrixShiftings&lt;/b&gt;&lt;br /&gt;Матриксийг шилжүүлэх 4 үйлдэл зааж өгсөн, тэдгээрийг ашиглан хүснэгтэн дэхь заагдсан тоог зүүн дээд буланд авчрах хамгийн цөөн үйлдлийн тоог олох.&lt;br /&gt;&lt;b&gt;Бодолт:&lt;/b&gt; Матриксийг шилжүүлэх бүрд нэг нэг нүдээр ахих учраас зүүн болон дээд хажуугаас тус бүр хэдэн нүд зайтай байгааг тоолоод л болно. Гэхдээ мөн баруун болон доошоогоо шилжиж очих боломжтой учраас тус тус хувилбаруудаас хамгийн багуудыг нь олоод нэмнэ.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Medium - Badgers&lt;/b&gt;&lt;br /&gt;Өгүүлбэрийг нь ойлгох гэж жаахан мунгинасаныг эс тооцвол гайгүй бодчихсон.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Hard - SubAnagrams&lt;/b&gt;&lt;br /&gt;Пээ анх удаа л hard түвшний бодлого бодоод submit хийж явуулж үзлээ шд. Нүдний нулимс цийлэгнээд явчихаж байх чинь ээ. Уйлж л болдоггүй юм шүү.&lt;br /&gt;Гэхдээ алдаатай байх гэж айгаад байна. DP байж магадгүй ч гэсэн Greedy бодолт л чадмаар санагдаад байхаар нь хийгээд явуулчихсан. Challenge, System test дуустал хүлээж л байя.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Challenge phase&lt;/h2&gt;Манай өрөөнд одоогоор нэг амжилтгүй, нэг амжилттай challenge хийгдээд байна. Ер нь систем тэстээ л хүлээе дөө. Challenge-н үеэр онц юм болохгүй бололтой.&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt; 1000-онооны бодлогоо бодсон манай өрөөний 2 хүний нэг нь challenge-д эцсийн мөчөд сугарваа хөөрхий :P Би ч далимдуулаад байр ахиад авлаа. System test-ээ гэж. Ямархуу юм болох болдоо?&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;System testing phase&lt;/h2&gt;За ёстой гоё юм болсон шүү. Medium, Hard 2-н бодолт маань system test-н дээр уначихлаа :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-8551375446944828502?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/8551375446944828502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/07/topcoder-diary-srm-476-division-2.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8551375446944828502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8551375446944828502'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/07/topcoder-diary-srm-476-division-2.html' title='Topcoder Diary - SRM 476 (Division 2)'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-5834054897508746899</id><published>2010-05-13T11:43:00.005+08:00</published><updated>2010-06-23T08:54:43.234+08:00</updated><title type='text'>TCO 10 ( Mongolia )</title><content type='html'>Энд TCO 10-т Монгол улсаас шалгарагчдыг бичнэ.&lt;br /&gt;&lt;br /&gt;Qualficiation Round:&lt;br /&gt;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22833617"&gt;&lt;br /&gt;Khongor&lt;/a&gt; (Round 1)&lt;br /&gt;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22833785"&gt;XaCaHaa&lt;/a&gt; (Round 2)&lt;br /&gt;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22833984"&gt;lmo0731&lt;/a&gt; (Round 3)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Elimination Round :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.topcoder.com/tc?module=MemberProfile&amp;amp;cr=22833617"&gt;Khongor&lt;/a&gt; (Round 1)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-5834054897508746899?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/5834054897508746899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/05/tco-10-mongolia.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5834054897508746899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5834054897508746899'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/05/tco-10-mongolia.html' title='TCO 10 ( Mongolia )'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-3995281804501271181</id><published>2010-05-03T17:29:00.003+08:00</published><updated>2010-05-03T17:51:50.559+08:00</updated><title type='text'>TCO 2010 Qualification Round 1 (Diary)</title><content type='html'>TCO гэдэг нь TopCoder Open гэсэн үг болно :).&lt;br /&gt;&lt;br /&gt;Qualification Round нь 3 үетэй ба аль нэгэнд нь эхний 600 байранд орвол дараагийн Elimination Round-д оролцох эрхтэй болно.&lt;br /&gt;&lt;br /&gt;Энэ тэмцээнд нийт 954 хүн оролцохоор бүртгүүлсэн ба Монгол улсаас Khongor, gmunkhbaatarmn, Nursoltan_MGL гишүүд оролцсон.&lt;br /&gt;&lt;br /&gt;За ингээд тэмцээнээ эхлүүлье :).&lt;br /&gt;&lt;br /&gt;Coding Phase&lt;br /&gt;&lt;br /&gt;250 :&lt;br /&gt;G болон B үсгээс тогтох тэмдэгт мөрийг зэрэгцээ үсгийг солих замаар хамгийн цөөн үйлдлээр GG....GBB.....B эсвэл BB...BGG...G хэлбэртэй болго.&lt;br /&gt;Дээрх 2 хэлбэрийг тусд нь хялбархан бодоод аль багыг гаргахад хангалттай.&lt;br /&gt;5 минут 47 секунд&lt;br /&gt;&lt;br /&gt;500:&lt;br /&gt;Хязгааргүй хөлөг дээр роботыг дээш, доош, баруун, зүүн тийш хөдөлгөх үйлдлийн дараалал өгөгджээ. Уг дарааллыг маш олон удаа давтан биелүүлэхэд робот нийт хэдэн ялгаатай нүдэн дээр зорчих вэ?&lt;br /&gt;&lt;br /&gt;Гол асуудал нь маш олон удаа давтан биелүүлэх учраас шууд үйлдлийг биелүүлэх боломжгүй. Өгөгдсөн үйлдлийн дарааллийг тодорхой удаа биелүүлэхэд шинээр зорчих нүдний тоо ижилхэн болох учраас бодож болно.&lt;br /&gt;53 минут 27 секунд&lt;br /&gt;&lt;br /&gt;1000:&lt;br /&gt;500 онооны бодлогыг бодож байх зуур хальт гүйлгэж харсан учир бараг оролдоогүй. Сүүлийн хэдэн минутанд дахиад хартал 2тийн хайлт ашиглан бодох нь ойлгомжтой болов. Бодлогон дээр тооцох хийх зүйл хэтэрхий их учраас амжсангүй.&lt;br /&gt;&lt;br /&gt;Coding Phase -н дараа Division Summary харахад 500 -с хойш байлаа. 2 бодлого минь 2уулаа л давахгүй бол эхний 600д орж чадахгүй гэсэн үг.&lt;br /&gt;&lt;br /&gt;Challenge Phase:&lt;br /&gt;&lt;br /&gt;Intermission дээр анзаарсан зүйл минь 500 дээр хүмүүс "тодорхой удаа" гэдгээс болж массивын индекс алдсан байх магадлалтай гэж бодсон.&lt;br /&gt;&lt;br /&gt;Эхлээд нэг бодолт нээгээд жаахан буруу юм шиг харагдахаар нь challenge хийгээд 25 оноо алдлаа.&lt;br /&gt;Дараагаар өөр бодолт нээтэл зөв тест өгвөл массивын индекс хэтрэх нь ойлгомжтой байсан учир тийм тест амархан зохиогоод 50 оноо авлаа.&lt;br /&gt;Дахиад нэг хүний бодолт ижилхэн массивын индекс хэтрэх байсан учир тийм тест өглөө, гэтэл нөгөө хүний аз ч юм уу RunTimeError авсангүй. Дахиад тест өгөөд ашгүй 50 оноо авлаа.&lt;br /&gt;-25+50-25+50=50 оноо авжээ.&lt;br /&gt;&lt;br /&gt;System Test дуусч 2 бодлого ч давжээ. Ингээд 359т орж дараагийн шатанд оролцох эрхтэй болов.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-3995281804501271181?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/3995281804501271181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/05/tco-2010-qualification-round-1-diary.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/3995281804501271181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/3995281804501271181'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/05/tco-2010-qualification-round-1-diary.html' title='TCO 2010 Qualification Round 1 (Diary)'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-5578008091662765150</id><published>2010-04-20T20:50:00.002+08:00</published><updated>2010-04-20T20:53:00.313+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Contest-Diary'/><category scheme='http://www.blogger.com/atom/ns#' term='Topcoder'/><title type='text'>Topcoder "diary" SRM 468 (division 2)</title><content type='html'>Өнгөрөгч SRM дээр 500-гаа алдаатай бичиж явуулаад 2 удаа амжилтгүй challenge хийж rating-ээ навс унагасан болохоор энэ удаад аль болох "хашир" тактик баримталж оров :P&lt;br /&gt;&lt;h4&gt;Coding Phase&lt;/h4&gt;&lt;h5&gt;Easy 250:&lt;/h5&gt;&lt;b&gt;type:&lt;/b&gt; ad hoc, sorting&lt;br /&gt;Уншиж ойлгоход нэлээдгүй хугацаа зарцуулсаныг эс тооцвол хялбархан бодчихсон :)&lt;br /&gt;&lt;h5&gt;Medium 500:&lt;/h5&gt;&lt;b&gt;type:&lt;/b&gt; string parsing, sorting&lt;br /&gt;Гар утасны "T9 dictionary"-н програмчлалыг бичих бодлого. Жаахан түвэгтэй л юм байна лээ. Кодоо бичихэд их хугацаа зарцуулсан. Азаар нэг их мунгинаж олон "debug" хийгээгүй. Бичиж дуусаад submit хийгээд цагаа харвал 17 минут үлдсэн байлаа. Арай л их хугацаа зарцуулчихаж дээ.&lt;br /&gt;&lt;h5&gt;Hard 1000:&lt;/h5&gt;&lt;b&gt;type:&lt;/b&gt; bfs л юм шиг санагдсан :D&lt;br /&gt;Хугацаа бага үлдсэн ч гэсэн амжуулах гэж оролдсон. Цаг дуусахаас хэдхэн минут үлдсэн байхад яагаад ч амжихгүй гэдгээ ойлгоод больсон доо :)&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Challenge Phase:&lt;/h4&gt;Хальт гүйлгээд л харсан. 250 дээр угаасаа алдсан хүн байхгүй л харагдана лээ. Бусад хүмүүсийн 500-гийн бодолтыг хальт харахад бол ойлгохгүй юм байна лээ. Сайн ойлгоогүй бодлогон дээр challenge хийж азаа үзэх хэрэггүй гэж энэ удаад шийдэв.&lt;br /&gt;Манай өрөөнийхөн ч хашир байна даа. Өрөөнийхөн нийтдээ 3 удаа challenge хийж 3-уулаа амжилтгүй болох шив дээ. Challenge Phase-аа дуусгалгүй үүнийг бичиж эхлэв :P&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;System Testing Phase:&lt;/h4&gt;Хүлээгээд л байж байна :D Хэрвээ 2 бодлого маань 2-уулаа тэстээ давчихвал эхний 70-д орчих л юм шиг байна :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-5578008091662765150?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/5578008091662765150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/04/topcoder-diary-srm-468-division-2.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5578008091662765150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5578008091662765150'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/04/topcoder-diary-srm-468-division-2.html' title='Topcoder &quot;diary&quot; SRM 468 (division 2)'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-6681545099434723863</id><published>2010-04-16T19:48:00.005+08:00</published><updated>2010-04-18T14:24:11.587+08:00</updated><title type='text'>Програмчлалын улсын 20-р олимпиад</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__fWt3lVs8MQ/S8hPPwStUCI/AAAAAAAAAD8/1VOWWABH46Y/s1600/Rating+Day1.jpg"&gt;&lt;img style="cursor: pointer; width: 293px; height: 400px;" src="http://3.bp.blogspot.com/__fWt3lVs8MQ/S8hPPwStUCI/AAAAAAAAAD8/1VOWWABH46Y/s400/Rating+Day1.jpg" alt="" id="BLOGGER_PHOTO_ID_5460701680266727458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__fWt3lVs8MQ/S8qlUnTND-I/AAAAAAAAAEE/W1K6TIbPEes/s1600/Rating+Day2.jpg"&gt;&lt;img style="cursor: pointer; width: 290px; height: 400px;" src="http://4.bp.blogspot.com/__fWt3lVs8MQ/S8qlUnTND-I/AAAAAAAAAEE/W1K6TIbPEes/s400/Rating+Day2.jpg" alt="" id="BLOGGER_PHOTO_ID_5461359271705645026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__fWt3lVs8MQ/S8hOo93ICbI/AAAAAAAAAD0/chfqVZ9jIlM/s1600/Rating+Day1.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-6681545099434723863?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/6681545099434723863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/04/blog-post.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6681545099434723863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6681545099434723863'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/04/blog-post.html' title='Програмчлалын улсын 20-р олимпиад'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__fWt3lVs8MQ/S8hPPwStUCI/AAAAAAAAAD8/1VOWWABH46Y/s72-c/Rating+Day1.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-8964841155763013441</id><published>2010-04-08T09:56:00.005+08:00</published><updated>2010-04-08T10:56:30.517+08:00</updated><title type='text'>SMCS баг</title><content type='html'>&lt;span id="fullpost"&gt;Олимпиадад нийт 7 бодлого ирсэн ба одоогоор файлаар олдсон 3 бодлогыг блогт нэмлээ. Мөн хүмүүст жаахан ч гэсэн сонирхолтой байж магад гэсэн үүднээс өөрийн багийн (Хонгор,Мөнх-Очир,Алмабек) оролцсон тэмдэглэлийг бичье.&lt;br /&gt;&lt;br /&gt;Сүүлийн үед өөрийн гэсэн template их хэрэглэдэг болсон учир компъютер дээрээ суугаад шууд template-ээ бичив.&lt;br /&gt;Бодлого ирлээ. Эхлээд нэг нэг бодлогоо уншлаа, миний уншсан бодлого нь Word гэсэн нэртэй бодлого байлаа. Шууд л DP + Matrix байсан учир (гэхдээ DP-ээ хараахан гаргаагүй) Matrix struct - аа бичиж эхлэв, тэгээд байж байтал Алмабек энд граф-н хамгийн их урсгалыг олох бодлого байна гэв. Хартал илүү дутуу юмгүй шууд Maximum Flow байв. Maximum Flow - г хангалттай их бичсэн учир бараг энэ нь гайгүй гэж бодоод дахиад л Maximum Flow бичиж эхлэвээ. Гэтэл Мөнх-Очир нэг бодлого үзүүлээд (a^b)%c олох бодлого байна гэв. Энэ бол хангалттай олон бичиж байсан бодлого учир шууд бичив, гэтэл жаахан bug гарсны гайгаар 22 дах минутанд анхны Yes -г авав.&lt;br /&gt;&lt;br /&gt;Үүний дараа бодож санах юмгүй өмнөх Matrix-тай бодлогоо бичлээ, эхний хэдэн минутанд Matrix struct бичээд бараг л дууссан байсан учраас хийх зүйл нь DP байгуулах л байв. Бодлого энгийн байсан учраас үүнийг гялс хийгээд жишээ оролтууд ажиллаж байсан учир 29 дах минутанд submit хийв. Гэтэл No -Wrong Answer :(. Үнэхээр гайхав ..... Гэтэл үнэхээр жижигхэн алдаа байсан ба засаад 31 дах минутанд submit хийлээ. 2 дах Yes.&lt;br /&gt;&lt;br /&gt;Одоо өмнө "сэглэсэн" Maximum Flow бодлогоо бичээд submit хийв. 46 дах минутанд Yes авлаа.&lt;br /&gt;&lt;br /&gt;Ингээл тэмцээний дүнг хартал Манай баг 3 бодлоготой, бусад баг хараахан бодлого бодоогүй байв. Ингээд жаахан амьсгаа авлаа. Мөнх-Очир нэг бодлого уншиж байх хооронд Алмабек надад нэг бодлого үзүүлэв, тэр бодлого граф-н бүх Articulation Point-г олох бодлого байсан ба азаар би чадахгүй гэдгээ мэдэж байсан учир энэ бодлогыг бүр мөсөн хаяв. Мөнх-Очир оролдож байсан бодлогоо бодох аргыг олоод тэгээд Мөнх-Очир -н заавраар би бичив. 2 хүн бичсэн учир үнэхээр алдаагүй сайхан бичсэн. Тэгээд ганц нэг алдаа засаад жишээ оролт давангууд submit хийв. 72 дах минутанд Yes.&lt;br /&gt;&lt;br /&gt;Ингээд 3 бодлого үлдсэн ба 1-г нь бүр мөсөн хаясан учир 2 бодлого үлдэв. Ball &amp;amp; Болхи схем. Ball гэдэг бодлого угийн амар бодогдчих эд биш байсан учир би оролдохоос татгалзаад Мөнх-Очирт өгөв. Мөнх-Очир уншиж байсан бодлогоо надад тайлбарлаж өгөв. Гэхдээ бид 2 Болхи-Схем бодлогыг нэг л ойлгож өгөхгүй байсан. Тэгээд зохиогчийг нь дуудаж тайлбар аваад арай дээрдсэн ч бүтэн ойлгосонгүй. Өрөө олон хүнтэй халууцаад байсан болохоор 00 оронгоо сэрүүцээд авав. Тэгээд орж ирээд бүтэн ойлголоо. Одоо яаж бодох вэ? :D. Ингээд энэ хэсэг дээр ~30 орчим минут болсон байх. Тэгээд бодож байтал бодлогын нөхцөл ёсоор мэдрэгч тавьсан ирмэгүүдийг таславал юу болох вэ? Мэдээж Граф-д цикл үлдэхгүй. Циклгүй чигэлгүй граф = Мод. Уг таслаж байгаа ирмэгүүдийн нийлбэр хамгийн бага учир зүгээр ч Мод биш "Хамгийн их үнэлгээт" мод юм. Мэдээж Kruskal -н алгоритмаар бодож болох байлаа. Гэхдээ хязгаарлалтыг харахад тийм ч амар биш 40000 орой + 160000 ирмэг. Иймээс Disjoint-Set өгөгдлийн бүтцийн тусламжтайгаар O(Ирмэг * log Орой) д бодож болно. Ингээд амжих нь тодорхой учир бичиж эхлэв, бодлогын оролтыг граф болгоход бас л төвөгтэй байсан учир их ч алдаж их ч удлаа. Ингээд жишээ оролт давсны дараа submit хийв. 159 дах минутанд Yes.&lt;br /&gt;&lt;br /&gt;Одоо нэг л бодлого үлдсэн ба тэрийг үнэхээр барсангүй. Сүүлийн 2 цаг олон юм хийсэн дээ. Minesweeper+Утасны тоглоом+...... кк.&lt;br /&gt;&lt;br /&gt;Submit 1 - Pandora - 22 - Yes&lt;br /&gt;Submit 2 - Word - 29 - No Wrong Answer&lt;br /&gt;Submit 3 - Word - 31 - Yes&lt;br /&gt;Submit 4 - AAN - 46 - Yes&lt;br /&gt;Submit 5 - Meet - 72 - Yes&lt;br /&gt;Submit 6 - Bolhi - 159 - Yes&lt;br /&gt;&lt;br /&gt;Энэ манай багийн 5 бодлогыг 159 минутанд бодсон бяцхан түүх байлаа. Одоо бүсийн тэмцээнд илүү амжилттай орохын төлөө.....&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-8964841155763013441?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/8964841155763013441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/04/smcs.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8964841155763013441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8964841155763013441'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/04/smcs.html' title='SMCS баг'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-7511373483923827069</id><published>2010-04-08T09:50:00.004+08:00</published><updated>2010-04-08T09:53:47.120+08:00</updated><title type='text'>MNPC 2010-н бодлогууд - AAN</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Artificial Neural network&lt;/span&gt;&lt;br /&gt;Нейрон нь мэдрэлийн эсүүд болон тэдгээрийн хооронд мэдээлэл дамжуулах сувгуудаас тогтоно. Тэдгээр нь хэд хэдэн давхаргуудаас тогтох бөгөөд эхний ба сүүлийн давхарга нь нэг нэг эсээс тогтоно. Эхний ба сүүлийн давхаргуудын хооронд мэдээлэл дамжих боломжтой байдаг байна. Нэг эсээс нөгөө эс рүү сувгаар дамжих мэдээлэл нь хэмжээтэй. Тэгвэл эхний давхаргаас сүүлийн давхарга хүртэл мэдээлэл хүрч болдоггүй байхаар сувгуудыг хасахдаа хассан сувгуудын нийт мэдээллийн хэмжээ нь хамгийн бага байх програм зохио.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Оролт:&lt;/span&gt;&lt;br /&gt;Оролт нь 5-аас илүүгүй тест агуулах ба тестийн бүтэц дараах хэлбэртэй байна. Эхний мөрөнд мэдрэлийн эсийн тоо N&lt;=125 болон мэдээлэл дамжуулах сувгуудын нийт тоо M&lt;=300 гэсэн тоонууд нэг хоосон зайгаар тусгаарлагдан байрлана. Дараагийн М мөр тус бүрт A B W тоонууд нэг хоосон зайгаар тусгаарлагдан байрлана. Үүнд: А, B тоонууд нь мэдрэлийн эсийн дугаарууд W (0&lt;w&gt;&lt;=10000 натурал тоо) нь мэдээллийг дамжуулах хэмжээ болно. A-гаас B-д мэдээлэл дамждаг байхад B-гээс A-д мэдээлэл дамжихгүй. Мөн эхний давхарга болон сүүлийн давхарга дахь эсийн дугаар нь 0 ба N-1 байна. Тестийн төгсгөлд N=0 M=0 байна.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Гаралт:&lt;/span&gt;&lt;br /&gt;Гаралтанд тест бүрд харгалзах хассан сувгуудын нийт мэдээллийн хэмжээний хамгийн бага утгууд нэг нэг мөрөнд байрлана. Гаралтын төгсгөлд нэг мөр авсан байна.&lt;br /&gt;Жишээ:&lt;br /&gt;Оролт:&lt;br /&gt;7 8&lt;br /&gt;0 1 2&lt;br /&gt;0 2 1&lt;br /&gt;1 3 3&lt;br /&gt;2 3 5&lt;br /&gt;2 4 4&lt;br /&gt;3 6 2&lt;br /&gt;4 5 2&lt;br /&gt;5 6 3&lt;br /&gt;4 4&lt;br /&gt;0 1 3&lt;br /&gt;0 2 4&lt;br /&gt;1 3 5&lt;br /&gt;2 3 2&lt;br /&gt;0 0&lt;br /&gt;Гаралт:&lt;br /&gt;3&lt;br /&gt;5&lt;/w&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-7511373483923827069?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/7511373483923827069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/04/normal-0-false-false-false-en-us-x-none.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7511373483923827069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7511373483923827069'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/04/normal-0-false-false-false-en-us-x-none.html' title='MNPC 2010-н бодлогууд - AAN'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-1274328003478338815</id><published>2010-04-08T09:48:00.002+08:00</published><updated>2010-04-08T09:54:33.424+08:00</updated><title type='text'>MNPC 2010-н бодлогууд - Улс</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Улс &lt;/span&gt;&lt;br /&gt;Улс нь N ширхэг хоттой. Хот бүрээс өөр хот руу очиж болдог замууд (Хэд хэдэн хотоор дамжин очиж болно)  байжээ.&lt;br /&gt;Хотуудыг 0 ээс N-1 хүртэл дугаарлажээ. Нэг хотоос нөгөө хотод очих зам олддог бол харилцаатай хотууд гэе. Хэрэв тухайн хотоос гарах бүх замуудыг таслахад ямар нэгэн харилцаатай байсан хоёр хотын харилцаа тасардаг бол энэ хотыг “сайн” хот гэе.&lt;br /&gt;Та “сайн” хотуудыг олох програм бичнэ үү.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Оролт:&lt;/span&gt;&lt;br /&gt;Оролт нь нийт 5-аас ихгүй тест агуулах ба тестийн бүтэц нь дараах хэлбэртэй.&lt;br /&gt;Эхний мөрөнд N&lt;175000, M&lt;265000 натурал тоонууд нэг хоосон зайгаар тусгаарлагдан байрлана.&lt;br /&gt;Дараагийн М мөрөнд A,B тоонууд нэг хоосон зайгаар тусгаарлагдан байрлана.&lt;br /&gt;A, B-хотын дугаар бөгөөд A,B хотууд хоорондоо замуудтай болохыг илэрхийлнэ.&lt;br /&gt;Тестийн төгсгөлд N=0 M=0 байна.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Гаралт:&lt;/span&gt;&lt;br /&gt;Тестийн тоонд харгалзах тохиолдлууд дараах байдлаар байна.&lt;br /&gt;Тохиолдол бүрт харгалзах тоонуудыг өсөх эрэмбээр нэг нэг мөрөнд гаргана. Гаралтын төгсгөлд нэг мөр авсан байна.&lt;br /&gt;Жишээ:&lt;br /&gt;Оролт:&lt;br /&gt;7 6&lt;br /&gt;0 3&lt;br /&gt;1 2&lt;br /&gt;2 4&lt;br /&gt;3 4&lt;br /&gt;4 6&lt;br /&gt;5 6&lt;br /&gt;5 5&lt;br /&gt;0 1&lt;br /&gt;1 2&lt;br /&gt;1 4&lt;br /&gt;2 3&lt;br /&gt;2 4&lt;br /&gt;0 0&lt;br /&gt;Гаралт:&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;6&lt;br /&gt;1&lt;br /&gt;2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-1274328003478338815?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/1274328003478338815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/04/mnpc-2010_08.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/1274328003478338815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/1274328003478338815'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/04/mnpc-2010_08.html' title='MNPC 2010-н бодлогууд - Улс'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-9023432105498098480</id><published>2010-04-08T09:45:00.004+08:00</published><updated>2010-04-08T09:55:59.616+08:00</updated><title type='text'>MNPC 2010-н бодлогууд - Болхи схем</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Болхи схем &lt;/span&gt;&lt;br /&gt;Болхи схем өгөгджээ. Түүний бүтэц нь зангилаанууд болон тэдгээрийг холбосон холбогчуудаас тогтоно. Хоорондоо параллель N ширхэг утас мөн тэдгээрт перпендукляр M ширхэг утастай.(Зургийг хар)&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__fWt3lVs8MQ/S703n7mWsJI/AAAAAAAAADs/yzGt2e14454/s1600/bolhi.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 221px;" src="http://1.bp.blogspot.com/__fWt3lVs8MQ/S703n7mWsJI/AAAAAAAAADs/yzGt2e14454/s320/bolhi.jpg" alt="" id="BLOGGER_PHOTO_ID_5457579482595897490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Зураг&lt;br /&gt;&lt;/div&gt;Мэдрэгч нь холбогч дээр байрлах ба холбогч бүр нь мэдрэгч тавихад тодорхой үнэтэй.&lt;br /&gt;Мэдрэгч бүр нь холбогчоор гүйж байгаа электроны дугаар, хугацаа болон хөдөлгөөний чиглэлийг мэдээлнэ.&lt;br /&gt;&lt;br /&gt;Мэдрэгчүүдийн мэдээллээр битүү маршрутаар (маршрут нь нэг явсан газраараа дахин явахгүй байна) явж байгаа ямар ч электроны явсан замыг нэг утгатай тодорхойлж чаддаг байхаар хамгийн бага үнэтэйгээр мэдрэгчүүдийг тавих програм бич.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Оролт: &lt;/span&gt;&lt;br /&gt;Оролтын эхний мөрөнд T&lt;=5 өгөгдөх ба тест бүр нь дараах бүтэцтэй. Оролтын эхний мөрд N, M (1&lt;n,m&gt;&lt;=200)гэсэн натурал тоонууд нэг хоосон зайгаар тусгаарлагдан байрлана. N нь схемийн хэвтээ утасны тоо, M нь босоо утасны тоо. Дараагийн (M-1)*N мөрөнд хэвтээ холбогчуудын мэдрэгч тавих үнүүд өгөгдөнө. Эдгээрийг нь утаснуудыг дээрээс нь доошоо, холбогчуудыг нь зүүнээс баруун тийшээ байдлаар өгнө. Түүний дараагийн (N-1)*M мөрөнд босоо холбогчуудын мэдрэгч тавих үнүүд өгөгдөнө. Тэдгээрийн хувьд утаснуудыг зүүнээс баруун тийшээ, холбогчуудыг нь дээрээс доошоо байхаар өгнө.  &lt;span style="font-weight: bold;"&gt;Гаралт:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Тестийн тоонд харгалзах тоонууд нэг нэг мөрөнд байрлана.&lt;br /&gt;Эдгээр тоонууд нь битүү марштрутаар явах электроныг нэгэн утгатай илэрхийлж чадах нийт үнэ нь хамгийн бага байхаар байрлуулах мэдрэгчүүдийн үнүүдийг нийлбэр байна. Гаралтын төгсгөлд нэг шинэ мөр байна.&lt;br /&gt;Жишээ:&lt;br /&gt;Оролт:&lt;br /&gt;2&lt;br /&gt;3 3&lt;br /&gt;2&lt;br /&gt;4&lt;br /&gt;7&lt;br /&gt;5&lt;br /&gt;2&lt;br /&gt;5&lt;br /&gt;7&lt;br /&gt;7&lt;br /&gt;3&lt;br /&gt;1&lt;br /&gt;2&lt;br /&gt;2&lt;br /&gt;2 2&lt;br /&gt;3&lt;br /&gt;3&lt;br /&gt;2&lt;br /&gt;1Гаралт:&lt;br /&gt;7&lt;br /&gt;1&lt;br /&gt;&lt;br /&gt;&lt;/n,m&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-9023432105498098480?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/9023432105498098480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/04/v-behaviorurldefaultvml-o.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/9023432105498098480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/9023432105498098480'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/04/v-behaviorurldefaultvml-o.html' title='MNPC 2010-н бодлогууд - Болхи схем'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__fWt3lVs8MQ/S703n7mWsJI/AAAAAAAAADs/yzGt2e14454/s72-c/bolhi.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-8827997338160414856</id><published>2010-04-03T21:40:00.006+08:00</published><updated>2010-04-06T08:13:03.398+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming Contest'/><title type='text'>Монголын үндэсний програмчлалын олимпиад II</title><content type='html'>&lt;span style="font-family:arial;"&gt;Монголын үндэсний програмчлалын II олимпиад 2010 оны 04 сарын 3-нд амжилттай явагдаж өнгөрлөө. Тэмцээний товч дүнг танилцуулъя.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;font-size:85%;"  &gt;1. МУИС - МКС 1-р баг - 5 оноо&lt;br /&gt;Бүрэлдэхүүн : Хонгор, Мөнх-Очир, Алмабек&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;font-size:85%;"  &gt;2. МУИС - МТС 2-р баг - 3 оноо&lt;br /&gt;Бүрэлдэхүүн : Өсөхбаатар, Жамсрандорж, Мөнхжаргал&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;font-size:85%;"  &gt;3. МУИС - МКС 2-р баг - 1 оноо&lt;br /&gt;Бүрэлдэхүүн : Нямдаваа, Авирмэд, Ганбат&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;font-size:85%;"  &gt;4. МУИС - МТС 1-р баг - 1 оноо&lt;br /&gt;Бүрэлдэхүүн : Мөнгөншагай, Сүрэн, Хуягбаатар&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Багийн гишүүдийг буруу бичсэн бол хэлж засуулна уу?&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-8827997338160414856?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/8827997338160414856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/04/ii.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8827997338160414856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8827997338160414856'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/04/ii.html' title='Монголын үндэсний програмчлалын олимпиад II'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-8804908037712817262</id><published>2010-03-08T11:26:00.009+07:00</published><updated>2010-03-12T22:53:50.417+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming Contest'/><title type='text'>3-р сарын тэмцээн бодолт - 1</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Jenny and you, BCC :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Энгийн оролт гаралттай ажиллах бодлого.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Хуваалт :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3/4 pizza иддэг хүмүүст тус тусад нь бүтэн pizza өгөхөөс аргагүй билээ. Ингээд үлдэгдэл 1/4 хэсгүүдийг 1/4 иддэг хүмүүст өгөх нь хэрэгтэй.&lt;br /&gt;Тэгэхээр манай бодлого 1/4, 2/4 бодлоготой ижилхэн боллоо л гэсэн үг. 2/4 иддэг хүмүүсийг хоёр хоёроор нь хос болгон авч үзээд пиззаг өгөх хэрэгтэй. Ингэхэд нэг хүн сондгойрч болох ба энэ хүнийг 1/4 иддэг 2 хүнтэй хос болгоод, үлдсэн 1/4 иддэг хүмүүсийг дөрөд дөрвөөр хос болгоход хангалттай.&lt;br /&gt;Баталгаа :&lt;br /&gt;1/4, 2/4 хүмүүст дээрх санаагаар pizza хуваарилахад гагцхүү ганц pizza-с үлдэгдэл гарч болох учир уг бодолт зөв юм.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Хамгийн ойр нийлбэр :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Бүх боломжийн тоо 2^N болох учир хэтэрхий их болно. Гэхдээ N1=N/2, N2-N-N1 байхаар хоёр хэсэгт хуваагаад бүх нийлбэр S1[0..N1-1], S2[0..N2-1] бодож олъё. N1,N2&lt;=19 тул санах ойд ч багтна. Одоо S2-оо эрэмбэлээд бүх i=0..N-1 хувьд S1[i]+S2[j]&gt;=K байх j-г хоёртын хайлтаар олъё.&lt;br /&gt;Бидний сонирхож байгаа нийлбэр j-1, j, j+1 3-н аль нэг болох учир бүгдийг шалгавал бодлого бодогдно.&lt;br /&gt;Шаардагдах хугацаа:&lt;br /&gt;Бүх нийлбэрийг олох - O(2*2^(N/2))&lt;br /&gt;Эрэмбэлэлт - O(2^(N/2)*(N/2)),&lt;br /&gt;Хоёртын хайлтаар бүх боломжит нийлбэрийг олох&lt;br /&gt;O(2^(N/2)*(N/2)*3)&lt;br /&gt;Иймд энэ бодолт O(2^(N/2)*(N/2)) болно.&lt;br /&gt;Тайлбарыг Anonymous хийв. (Чимэд ах???)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Цэцэг тарив :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Зөвлөгөө : Өгөгдлийн бүтэц. ( Interval Tree? ) O(N * sqrt ( N )) эсвэл O(N * log N)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Гайхамшигт хослол :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Хамгийн муу тохиолдолд олонлог маань 8*7*6*5*4=6720 элемэнттэй байж болно.&lt;br /&gt;Эхний буюуу хамгийн муу бодолт нь уг олонлогоос шууд дөрвөн тоо сонгож аваад "гайхамшигт хослол" үүсэх эсэхийг шалгах. Энэ бодолт O (N ^ 4) байх нь ойлгомжтой.&lt;br /&gt;Дараагийн бодолт нь гайхамшигт хослолыг нийлбэрт орж буй 3 тоогоор илэрхийлж болно гэдгийг хараад a+b+c тоо олонлогт орших эсэхийг O(1)-д шалгаснаар O(N ^ 3) болно.&lt;br /&gt;Эцсийн бодолт:&lt;br /&gt;a+b+c=d илэрхийллийг a+b=d-c хэлбэртэй бичээд илэрхийллийн 2 талыг хайснаар O(N ^ 2) -д бодож болно&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-8804908037712817262?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/8804908037712817262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/03/3-1.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8804908037712817262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8804908037712817262'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/03/3-1.html' title='3-р сарын тэмцээн бодолт - 1'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-550761076516695061</id><published>2010-02-28T12:06:00.005+07:00</published><updated>2010-03-12T22:54:14.761+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><title type='text'>2-р сарын тэмцээн Бодолт - 2</title><content type='html'>&lt;b&gt;&lt;a href="http://coder.mn/problems/show/385"&gt;Happy Single`s Day&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;Уг бодлогын санаа "&lt;a href="http://codermn.blogspot.com/2009/09/1.html"&gt;Авсаархан Шийдлүүд - 1&lt;/a&gt;" бичлэг дээр бичигдчихсэн байв :)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://coder.mn/problems/show/383"&gt;Болхи тоо&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;(1&amp;lt;=Ni&amp;lt;=10000) гэдгээс F(N) &amp;lt; 2^63 байх юм. (Үүнийг тооцож үзээд шалгачихаж болно) F(K) - нь болхи тоо гэдгээс F(K) * 2, F(K) * 3, F(K) * 5 нь тус тус болхи тоо гэж гарна. Энэ аргаар 2^63-аас бага бүх (~12000 ширхэг) "Болхи тоо"-г урьдчилан тооцоолж олоод эрэмбэлнэ. Ингээд эхний 10000 болхи тоо массивт хадгалаастай байх учраас бодлогын оролтонд харгалзах хариуг амархан гаргаад байж болно.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://coder.mn/problems/show/382"&gt;Анхны тоо шалгагч&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;Эх хувилбар: &lt;a href="http://www.spoj.pl/problems/PON/"&gt;Spoj.pl/problems/PON&lt;/a&gt;&lt;br /&gt;Анхны тоо шалгадаг магадлалт алгоритмууд болох "&lt;a href="http://en.wikipedia.org/wiki/Fermat_primality_test"&gt;Фермагийн магадлалт шалгуур&lt;/a&gt;", "&lt;a href="http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test"&gt;Миллер-Рабины магадлалт шалгуур&lt;/a&gt;" алинаар нь ч бодож болно. Шалгалтын үр дүнг сайжруулахыг тулд эхний цөөн хэдэн анхны тоог урьдчилан бэлтгэж тэдгээрт хуваагдаж байгаа эсэхийг шалгаж болно. (Эхний 1000 анхны тоо юм уу 10000, 100000 хүртэлх анхны тоонуудад хувааж үзэх)&lt;br /&gt;&lt;br /&gt;Програмчлахтай холбоотой асуудал нь:&lt;br /&gt;&lt;b&gt;A^B mod C =&lt;/b&gt;-г олох явдал. (1&amp;lt;B, C&amp;lt;2^63)&lt;br /&gt;Bigmod(A, B, C) = A^B mod C гэж тэмдэглэе. Дараах байдлаар &lt;a href="http://en.wikipedia.org/wiki/Pseudocode"&gt;програмчилж&lt;/a&gt; LogN хугацаанд олж болно&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;LONG BIGMOD(A, B, C) {  if (B mod 2 == 0) {    return SQUARE(BIGMOD(A, B/2, C)) mod C  } else {    return BIGMOD(A, B-1, C) * (A mod C) mod C  }}&lt;/pre&gt;Гэвч ингээд бүрэн бодогдчихгүй юм. Учир нь &lt;b&gt;X*Y mod Z&lt;/b&gt; үйлдлийг хийх үед X*Y үйлдлийн хариу нь 2^63 зэрэгтээс халих юм. Иймээс &lt;b&gt;X*Y mod Z&lt;/b&gt; үйлдлийг &lt;b&gt;(X+...+X) mod Z&lt;/b&gt; (Y удаа нэмнэ) байдлаар шийдэж болно. Үүнийг мөн өмнөх зэрэг дэвшүүлэх үйлдэлтэй адилханаар LogN хугацаанд багтааж болно.&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;MULTIPLY_MOD(X, Y, Z) {  if (Y mod 2 == 0) {    return MULTIPLY_MOD(X, Y/2, Z) * 2 mod Z  } else {    return (MULTIPLY_MOD(X, Y-1, Z) + X) mod Z  }}&lt;/pre&gt;MULTIPLY_MOD(X, Y/2, Z) * 2 үйлдэл дээр бас 2^63 -ээс халих асуудал гарах боловч өгөгдлийн төрлөө "UNSIGNED LONG LONG" гэж зааж өгснөөр энэ асуудлыг тойрж болно.&lt;br /&gt;&lt;br /&gt;Лавлагаа:&lt;br /&gt;[1] &lt;a href="http://chamka.blogspot.com/2009/10/blog-post.html"&gt;Олон оронтой тооноос үлдэгдэл олох хамаагүй сонирхолтой.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-550761076516695061?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/550761076516695061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/02/2-2.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/550761076516695061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/550761076516695061'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/02/2-2.html' title='2-р сарын тэмцээн Бодолт - 2'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-5380766029852513166</id><published>2010-02-12T14:28:00.006+07:00</published><updated>2010-03-12T22:54:29.939+07:00</updated><title type='text'>2 сарын тэмцээн - бодолт 1</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Хамгийн анхны тоо:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Үржвэр нь N - с хэтрэхгүй байх эхний дараалсан анхны тоонуудын үржвэр хариу болно. Төвөгтэй хэсэг нь Том тооний үйлдэл байх.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Number:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;+1+2+...+N илэрхийллийг авч үзье. Ямар нэгэн +i тоог -i болговол нийт нийлбэр маань 2i -р багасах буюу тэгш байсан бол тэгш, сондгой байсан бол сондгой хэвээр үлднэ.&lt;br /&gt;Иймд 1+2+...+N&gt;=K &amp;amp;&amp;amp; (1+2+...+N)%2==K%2 байх хамгийн бага N-г олоход тэр нь хариу болно.&lt;br /&gt;K тоо сөрөг үед модуль аван бодоход хангалттай.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Дахиад л шадар гурван квадрат:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Тэгш өнцөгтийг N өндөртэй тэгш өнцөгт гэж үзээд доороос нь эхлэн түвшин түвшингээр дүүргэсэн гэж үзье. Тэгш өнцөгтийн эхний i-1 түвшинг бүтэн дүүргэсэн, i дэх түвшинг бүтэн эсвэл хагас дүүргэсэн боломж нь 16 хэсэгт задарна. 0000, 0001, ...., 1111.&lt;br /&gt;Тэгвэл f[i][j] -р эхний i-1 түвшинг бүтэн дүүргэсэн, i дэх түвшинг j дэх дүүргэлтээр дүүргэсэн нийт боломжийг тэмдэглэе. j нь дээрх битүүдийн 10тын тооллын систем дэх дүрслэл гэж ойлго (0&lt;=j&lt;=15). Тэгвэл f[i][j] = f[i-1][j1] + f[i-1][j2]+... хэлбэртэй томъёо олдно. Энэ аргаар бодвол бодлогыг O(N* 16 ) хугацаанд бодож чадна. f[i] г 1*16 хэмжээс бүхий матрикс гэж үзвэл f[i] * m = f[i+1] байх m матрикс олдно. Матриксын зэргийг log-д олох аргыг хэрэглэвэл бодолт O(16*16*16*logN) болж өгөгдсөн хугацаанд хангалттай амжна.  &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Муруй зам:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Уг бодлогыг хүн бодоогүй учир бодолтыг бичихгүй :).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-5380766029852513166?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/5380766029852513166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/02/2-1.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5380766029852513166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5380766029852513166'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/02/2-1.html' title='2 сарын тэмцээн - бодолт 1'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-500740842379133394</id><published>2010-01-28T13:50:00.005+07:00</published><updated>2010-03-12T22:54:48.783+07:00</updated><title type='text'>Зарлал</title><content type='html'>Coder.mn сайт дээр сар бүр тогтмол тэмцээн явуулж байхаар тогтсоныг олж уншсан гэж найдаж байна :D. Иймээс үүнтэй холбогдуулан сар бүрийн тэмцээнээс зарим бодлогын бодолтыг нийтлэж байх болно. Тэмцээндээ идэвхтэй ороороой, бас амжилт хүсье!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-500740842379133394?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/500740842379133394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2010/01/d.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/500740842379133394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/500740842379133394'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2010/01/d.html' title='Зарлал'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-5143826277047471135</id><published>2009-10-27T22:47:00.001+07:00</published><updated>2009-10-27T22:50:05.168+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spoj.pl/CSMS'/><title type='text'>Хөзөр</title><content type='html'>&lt;b&gt;Тавил:&lt;/b&gt;&lt;br /&gt;N хөзөр байгаа ба K-р хөзрийн 2 тал дээр K-1 ба K гэсэн 2 тоо бичсэн. M ширхэг хөзөр аван аль хөзөр дээрх нэг тоог нь тэмдэглэж аваад л буцааж тависаар гар дахь хөзрөө дуусгасан бол тэмдэглэсэн тоонууд өгөгдсөнөөр зөв тэмдэглэгдсэн эсэхийг тогтоо.&lt;br /&gt;&lt;b&gt;Эх бодлого:&lt;/b&gt; &lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0009/"&gt;Хөзөр&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Бодолт:&lt;/b&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Хөзрийн нэг тал нь тэмдэглэгдсэн бол нөгөө тал нь тэмдэглэгдэх ёсгүй гэдгээс 0, N 2-оос бусад тоонууд дээд тал нь 2 удаа тэмдэглэгдэж болно.&lt;br /&gt;Тэмдэглэлд бичигдсэн K тоо боломжит дээд ширхэгээрээ (0 болон N нь 1, 1 удаа бусад нь 2 удаа) тэмдэглэгдчихсэн бол K+1 дугаартай хөзрөөс тоо дуудахгүй гэсэн үг буюу K+1 тоог тэмдэглэсэн байх боломж 1-ээр цөөрнө гэсэн үг. Энэхүү цөөрсөн боломж нь K+1 тоог тэмдэглэсэн тооноос цөөхөн байвал алдаатай байна гэсэн үг. (K = for 0-ээс N-1 хүртэл) Ямар ч алдаа гараагүй бол зөв тэмдэглэгдсэн болно.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-5143826277047471135?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/5143826277047471135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2009/10/blog-post.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5143826277047471135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5143826277047471135'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2009/10/blog-post.html' title='Хөзөр'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-5667224184272781261</id><published>2009-09-29T22:15:00.009+08:00</published><updated>2009-09-30T16:13:33.382+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamic programming'/><title type='text'>DP problems</title><content type='html'>&lt;a href="http://www.spoj.pl/CSMS/"&gt;http://www.spoj.pl/CSMS&lt;/a&gt; - н зарим бодлогуудыг хуваахаар шийдлээ. Эхлээд DP (Dynamic Programming) ашиглан бодож болох зарим бодлогуудыг жагсаая.&lt;br /&gt;&lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0002/"&gt;CSMS0002&lt;/a&gt;, &lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0041/"&gt;CSMS0041&lt;/a&gt;, &lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0043/"&gt;CSMS0043&lt;/a&gt;,&lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0084/"&gt; CSMS0084&lt;/a&gt;, &lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0104/"&gt;CSMS0104&lt;/a&gt;, &lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0106/"&gt;CSMS0106&lt;/a&gt;, &lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0111/"&gt;CSMS0111&lt;/a&gt;, &lt;a href="http://www.spoj.pl/CSMS/problems/ABR1009/"&gt;ABR1009&lt;/a&gt;, &lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0007/"&gt;CSMS0007&lt;/a&gt;,&lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0032/"&gt; CSMS0032&lt;/a&gt;, &lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0034/"&gt;CSMS0034&lt;/a&gt;, &lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0064/"&gt;CSMS0064&lt;/a&gt;, &lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0067/"&gt;CSMS0067&lt;/a&gt;,&lt;a href="http://www.spoj.pl/CSMS/problems/IOI9622/"&gt; IOI9622&lt;/a&gt;, &lt;a href="http://www.spoj.pl/CSMS/problems/TIM1012/"&gt;TIM1012&lt;/a&gt;, &lt;a href="http://www.spoj.pl/CSMS/problems/TIM1537/"&gt;TIM1537&lt;/a&gt;,&lt;a href="http://www.spoj.pl/CSMS/problems/TOP0001/"&gt; TOP0001&lt;/a&gt;, &lt;a href="http://www.spoj.pl/CSMS/problems/TSEREG/"&gt;TSEREG&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-5667224184272781261?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/5667224184272781261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2009/09/dp-problems.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5667224184272781261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5667224184272781261'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2009/09/dp-problems.html' title='DP problems'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-7303385207307384466</id><published>2009-09-29T21:53:00.001+08:00</published><updated>2009-09-29T21:59:09.115+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spoj.pl/CSMS'/><title type='text'>Сериал</title><content type='html'>&lt;b&gt;Тавил:&lt;/b&gt;&lt;br /&gt;Нэгэн компаний үйлдвэрлэсэн програмын сериалууд хоорондоо зөвхөн тэмдэгтүүдийн байрлалыг солисноороо ялгагддаг байна. Жинхэнэ сэриал нэг ширхэг мэдэгдэж байгаа бол сэжиглэгдэж байгаа сериалуудыг жинхэнэ мөн эсэхийг ялга.&lt;br /&gt;&lt;b&gt;Эх Бодлого:&lt;/b&gt; &lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0098/"&gt;Сериал&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Бодолт:&lt;/b&gt;&lt;br /&gt;Жинхэнэ сэриал болон сэжиглэгдэж байгаа сэриал 2-ынхоо аль алиных нь тэмдэгтүүдийг эрэмбэлнэ. Тэгээд үүссэн эрэмбэт сериалууд нь хоорондоо тэнцүү бол уг сэжиглэгдэж буй сэриал жинхэнэ, тэнцүү биш бол хуурамч гэсэн үг.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-7303385207307384466?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/7303385207307384466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2009/09/blog-post_29.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7303385207307384466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7303385207307384466'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2009/09/blog-post_29.html' title='Сериал'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-6508821841227583783</id><published>2009-09-26T22:42:00.010+08:00</published><updated>2009-09-28T21:24:45.807+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming Contest'/><title type='text'>Фүжи Инфокснэт компаний нэрэмжит програмчлалын 3-р олимпиад</title><content type='html'>Фүжи Инфокснэт компаний нэрэмжит оюутны програмчлалын олимпиад 3 дахь жилдээ энэ сарын 26-ны өдөр ШУТИС-ийн КтМС дээр явагдаж өнгөрлөө. Олимпиадын дүн:&lt;br /&gt;&lt;br /&gt;1. ШУТИС - КТМС Амгаланбаатар&lt;br /&gt;2. МУИС - МКС  Алмабек&lt;br /&gt;3. ШУТИС - КТМС Шагай&lt;br /&gt;  МУИС - МТС Мөнхжаргал&lt;br /&gt;  ШУТИС - КТМС Гансүх&lt;br /&gt;  МУИС - МТС Жамсрандорж.&lt;br /&gt;&lt;br /&gt;Энэхүү олимпиадад 3 бодлого ирсэн ба тус бүр 20, 15, 10 онооны бодлогууд байв. Бодлогуудын өгүүлбэрийг доор сийрүүлэн нийтэллээ.&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;Бодлого №1&lt;br /&gt;&lt;br /&gt;N*M матрицийн нүднүүд дээр тодорхой тооны будаа овоолсон байх бөгөөд өгөгдсөн цэгээс нэгэн хулгана будаануудыг матрицийн аль нэг цэг дээр овоолохоор болжээ. Хулгана нэг удаад К-аас илүү тооны будаа зөөвөрлөж чадахгүй ба хулгана нь дурын нэг цэг дээр бүх будааг цуглуулахын тулд хамгийн багадаа ямар зам туулах хэрэгтэйг тооцоолон олно уу. Хулганы эхний байрлал Х, Ү өгөгдсөн ба матриц дээрх тоонууд нь будааны хэмжээг илэрхийлсэн болно. Хулгана нь тухайн байрлалаас 4 зүгт хөдлөх боломжтой.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Жишээ оролт:&lt;br /&gt;&lt;br /&gt;3,3,4,0,0&lt;br /&gt;0,3,0&lt;br /&gt;1,0,5&lt;br /&gt;0,0,4&lt;br /&gt;&lt;br /&gt;Жишээ гаралт:&lt;br /&gt;&lt;br /&gt;7&lt;br /&gt;&lt;br /&gt;Эхний мөрийн эхний 2 тоо нь матрицийн хэмжээс. Дараа нь К буюу хулганы зөөвөрлөж чадах будааны тоо. Дараа нь Х, Ү буюу хулганы эхний байрлал&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Бодлого №2:&lt;br /&gt;&lt;br /&gt;Эхэнд өгөгдсөн олон хувьсагчтай илэрийллийг бусад олон хувьсагчтай илэрхийллүүдтэй тэнцүү эсэхийг шалгах.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Жишээ оролт:&lt;br /&gt;&lt;br /&gt;(a-b)*2&lt;br /&gt;2*a-2*b&lt;br /&gt;a-2*b+a&lt;br /&gt;4*a+3*b&lt;br /&gt;&lt;br /&gt;Гаралт:&lt;br /&gt;&lt;br /&gt;YES&lt;br /&gt;YES&lt;br /&gt;NO&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Бодлого №3:&lt;br /&gt;&lt;br /&gt;N ширхэг тэгш өнцөгтийн байрлал болон хэмжээс өгөгдсөн бөгөөд тэдгээр нь хоорондоо тодорхой хэмжээгээр огтлолцоно. Хамгийн олон тэгш өнцөгт огтлолцсон хэсгийн талбайг ол.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Жишээ оролт:&lt;br /&gt;&lt;br /&gt;1,11,6,6&lt;br /&gt;2,7,4,6&lt;br /&gt;5,8,5,5&lt;br /&gt;&lt;br /&gt;Гаралт:2&lt;br /&gt;&lt;br /&gt;Үүнд мөрийн эхний 2 тоо нь тэгш өнцөгтийн зүүн дээд өнцгийн координат. Дараачин 2 тоо нь харгалзан тэгш өнцөгтийн өргөн ба өндөр.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-6508821841227583783?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/6508821841227583783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2009/09/3.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6508821841227583783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6508821841227583783'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2009/09/3.html' title='Фүжи Инфокснэт компаний нэрэмжит програмчлалын 3-р олимпиад'/><author><name>Gansukh B</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_OfY8krxleLs/S5POeDnZlAI/AAAAAAAAAZg/8RQCCLG2I10/S220/AvatarDusal.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-7516920264416266569</id><published>2009-09-21T23:05:00.005+08:00</published><updated>2009-09-21T23:40:10.204+08:00</updated><title type='text'>What's happening?</title><content type='html'>&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;script src="http://pastie.org/624673.js"&gt;&lt;/script&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-7516920264416266569?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/7516920264416266569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2009/09/whats-happening.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7516920264416266569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7516920264416266569'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2009/09/whats-happening.html' title='What&apos;s happening?'/><author><name>Dunno</name><uri>http://www.blogger.com/profile/01586840450646525198</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://2.bp.blogspot.com/-WOgjofyaPN0/TusNhzB99eI/AAAAAAAAAYc/m3dGaCmgOEo/s220/sss.PNG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-4630891497997868289</id><published>2009-09-17T12:36:00.009+08:00</published><updated>2009-09-30T08:49:26.016+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spoj.pl/CSMS'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamic programming'/><title type='text'>Хөршүүд</title><content type='html'>Энгийн чиглэлгүй граф өгөгдөв. Орой бүр дээр тоо бичигдсэн ба нэг раундад орой бүр дээрх тоо түүнтэй холбогдсон оройнууд дээрх тоонуудын нийлбэр болж өөрчлөгднө. K раундын дараах оройнууд дээрх тоог ол.&lt;br /&gt;Граф-н холболтыг илэрхийлэх матриц-г A, орой дээр бичигдсэн тоонуудыг 1*N матриц гэж үзээд B гэе. Нэг раундын дараа B=B*A болно гэдгийг харахад амархан. Тэгвэл К раундын дараа B=B*(A^K) болно. Эндээс гол асуудал нь A^K -г олох юм. A^K зэргийг O(N^3logK) -д олж болох ба энэ хэсгийг уншигч таньд үлдээе.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-4630891497997868289?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/4630891497997868289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2009/09/blog-post_17.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/4630891497997868289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/4630891497997868289'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2009/09/blog-post_17.html' title='Хөршүүд'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-1787459377024769390</id><published>2009-09-16T21:12:00.000+08:00</published><updated>2009-09-16T21:12:05.547+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Binary Search'/><category scheme='http://www.blogger.com/atom/ns#' term='Spoj.pl/CSMS'/><title type='text'>Урт факториал</title><content type='html'>&lt;b&gt;Тавил:&lt;/b&gt;&lt;br /&gt;N эерэг бүхэл тоо өгөгдсөн бол 1*2*3*...*X тоо яг N оронтой байх бүх Х тоог ол. N-ийн хамгийн их утга 150000 байна.&lt;br /&gt;Эх өгүүлбэр: &lt;a href="http://www.spoj.pl/CSMS/problems/CSMS0082/"&gt;Урт Факториал&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Бодолт:&lt;/b&gt;&lt;br /&gt;Өмнө дурдсан &lt;a href="http://codermn.blogspot.com/2009/09/1.html"&gt;авсаархан аргыг&lt;/a&gt; ашиглавал дурын K! тооны оронгийн тоог Log10(1)+Log10(2)+...Log10(K)+1 гэж олж болно.&lt;br /&gt;Мөн X! тооны оронгийн тоо нь эрэмбэлэгдсэн дараалал учир хоёртын хайлт хийж болно. Тиймээс 1-ээс N_MAX=150000 хооронд хоёртын хайлт хийж Х-г олно. X&gt;=4 үед X ганц утгатайгаар олдох нь бараг л тодорхой билээ&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-1787459377024769390?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/1787459377024769390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2009/09/blog-post_16.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/1787459377024769390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/1787459377024769390'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2009/09/blog-post_16.html' title='Урт факториал'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-1389096432271191823</id><published>2009-09-15T21:40:00.024+08:00</published><updated>2009-09-20T23:46:31.040+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Math'/><category scheme='http://www.blogger.com/atom/ns#' term='Spoj.pl/CSMS'/><title type='text'>Пифагорын гурвал</title><content type='html'>&lt;div style="text-align: center;"&gt;Бодлогын дугаар:&lt;a href="https://www.spoj.pl/CSMS/problems/ABR0554/"&gt; ABR0554&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;n натурал тоо өгөгдөв. Тус бүрийнх нь утга n-ээс хэтрэхгүй байх бүх натурал пифагорын гурвалыг буюу&lt;br /&gt;a^2 + b^2 = c^2 ба&lt;br /&gt;a ≤ b ≤ c ≤ n нөхцлүүдийг хангах бүх натурал тоон гурвалуудыг ол.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span id="fullpost"&gt;Энэ бодлогын хувьд өгүүлбэр, зорилго нь их энгийн хэрнээ хугацааны хувьд ярвигтай. Элдэв "дундын машин" ажилладаггүй Pascal, C/C++ гэх мэт дунд түвшний хэл дээр бодож Submit-лах нь тохиромжтой. Доор Python хэл дээрх эх кодыг нийтэллээ. Гэхдээ энэ кодыг шууд илгээхэд АС авахгүй шүү Python амжихгүй :P Алгоритмыг нь харж аваад for давталт ашиглаж Pascal, C/C++ дээр бичих нь тохиромжтой ;)&lt;br /&gt;&lt;br /&gt;&lt;script src="http://pastie.org/617404.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;br /&gt;Алгоритмийн талаар тайлбар өгүүлэх нь:&lt;br /&gt;&lt;br /&gt;Бодлогын өгөгдөл ёсоор&lt;br /&gt;a ^ 2 + b ^ 2 = c ^ 2 үүнээс цаашлан задлаад&lt;br /&gt;&lt;span&gt;&lt;span class="fullpost"&gt;a ^ 2 = &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="fullpost"&gt; c ^ 2 - &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="fullpost"&gt;b ^ 2&lt;/span&gt;&lt;/span&gt; = ( c - b ) * ( c + b ) = k гэе.&lt;br /&gt;&lt;br /&gt;Одоо а тоог ямар нэг x , y тооны үржвэр хэлбэрээр тавигддаг гэж үзье / * тоог ямар ч тохиолдолд 2 тооны үржвэр хэлбэрт тавиж болно. Анхны тоо байх тохиолдолд ч a = a * 1 гэсэн үржвэр хэлбэрт тавьж болно * /.&lt;br /&gt;&lt;br /&gt;a = x * y гэдгээс&lt;br /&gt;&lt;br /&gt;k = x * ( x * y ^ 2)  / * энэ тохиолдлыг эх код дээр&lt;br /&gt;x = j,  x * y ^ 2 = k / j гэж авсан байгаа.*/&lt;br /&gt;&lt;br /&gt;( x * y ^ 2 + x ) % 2 == 0 байгаа үед&lt;br /&gt;&lt;br /&gt;a ≤ b ≤ c ≤ n нөхцлийг хангах&lt;br /&gt;&lt;br /&gt;b = ( x * y ^ 2 ) / 2&lt;br /&gt;c = ( x * y ^ 2 + x ) / 2&lt;br /&gt;&lt;br /&gt;болно. Баталгааг хийхээс бага зэрэг залхуурав.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:monospace;"&gt;&lt;/span&gt;&lt;span class="fullpost"&gt;&lt;span style="font-family:monospace;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-1389096432271191823?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/1389096432271191823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2009/09/blog-post_15.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/1389096432271191823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/1389096432271191823'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2009/09/blog-post_15.html' title='Пифагорын гурвал'/><author><name>Gansukh B</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_OfY8krxleLs/S5POeDnZlAI/AAAAAAAAAZg/8RQCCLG2I10/S220/AvatarDusal.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-8716920647801052940</id><published>2009-09-13T15:05:00.002+08:00</published><updated>2010-01-05T09:09:39.796+07:00</updated><title type='text'>Авсаархан шийдлүүд - 1</title><content type='html'>Зарим бодлогыг зарим үйлдэл, функцүүдийг ашиглан хялбарханаар шийдэж болох юм. Тийм зарим бодлогуудаас үзье.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Бодлого 1:&lt;/b&gt; K тооны N зэрэг хэдэн оронтой вэ? (1&amp;lt;K, N&amp;lt;1000)&lt;br /&gt;&lt;b&gt;Шийдэл:&lt;/b&gt; K^N тооны оронгийн тоо нь Log10(K^N)+1 буюу N*Log10(K)+1 гэсэн үг.&lt;br /&gt;C хэл дээрх бодолтын хэсгээс бичвэл:&lt;br /&gt;&lt;code class="prettyprint lang-c"&gt;printf("%d", (int)(N*Log10(K))+1);&lt;/code&gt;&lt;br /&gt;Жич: K, N нь нэлээн том тоо болчихвол Log10(K)-ын нарийвчлалаас хамаараад алдаатай хариу гарах юм. Тиймээс (1&amp;lt;K, N&amp;lt;1000) гэдгийг анхаарна уу.&lt;br /&gt;&lt;b&gt;Уг санааг ашиглан бодож болох бодлогууд:&lt;/b&gt;&lt;br /&gt;&lt;a href="http://uva.onlinejudge.org/external/102/10219.html"&gt;Uva - 10219&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Бодлого 2:&lt;/b&gt; 2N+1 (10^6&amp;lt;N) ширхэг тоо өгөгдсөн ба зөвхөн нэг тоо л сондгой ширхэг өгөгдсөн (бусад нь бүгд тэгш ширхэг гэсэн үг) бол тэрхүү тоог ол.&lt;br /&gt;&lt;b&gt;Шийдэл:&lt;/b&gt; XOR үйлдлийг ашиглавал их амархан бодогдоно. Бүх тоонууд дээрээ эхнээс нь XOR үйлдлийг хийхэд гарах тоо нь бидний хайсан хариу юм.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-8716920647801052940?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/8716920647801052940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2009/09/1.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8716920647801052940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8716920647801052940'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2009/09/1.html' title='Авсаархан шийдлүүд - 1'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-3610743483213909282</id><published>2009-09-12T22:43:00.012+08:00</published><updated>2009-09-17T12:47:39.600+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spoj.pl/CSMS'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamic programming'/><title type='text'>Цэрэг</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Тавил:&lt;/span&gt;&lt;br /&gt;Эгнэж жагссан цэргүүдээс дайнд оролцох цэргүүдийг сонгохдоо аль ч хоёр зэрэгцээ цэргийг 2-ууланг нь сонгохгүй байхаар шийджээ. Тэгвэл N (2&amp;lt;N&amp;lt;10^9) цэргээс сонголт хийж болох нийт боломжийн тоог ол.&lt;br /&gt;&lt;a href="http://www.spoj.pl/CSMS/problems/TSEREG/"&gt;[Эх бодлого]&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Бодолт:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Dynamic_programming"&gt;Динамик програмчлал&lt;/a&gt; ашиглан бодъё.&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Сүүлийн цэргийг сонгох эсвэл сонгохгүй байх гэсэн 2 боломж бий...&lt;br /&gt;1. Хэрвээ сонгоогүй бол түүнээс өмнөх цэргүүдийг сонгох боломжийн тоотой нь тэнцүү: F(N-1)&lt;br /&gt;2. Харин сонгосон гэж үзвэл зэрэгцээ 2 цэргийг 2-уулангсонгож болохгүй учир түүний өмнөх цэргийг заавал алгасах ёстой. Тиймээс сүүлчийн цэргийг сонгосон тохиолдлын тоо нь: F(N-2)-той тэнцүү. Бас нэг мартаж болохгүй онцгойдуу тохиолдол байгаа нь зөвхөн сүүлчийн цэргийг дангаар нь сонгож болох ганц хувилбар юм. Өөрөөр хэлбэл сүүлчийн цэргээс өмнөх бүх цэргийг сонгохгүй гэсэн үг. Энэ тохиолдол нь F(N-2)-т багтахгүй юм. Тиймээс F(N-2)+1 болно.&lt;br /&gt;Тэгэхлээр: &lt;span style="font-weight: bold;"&gt;F(N)=F(N-1)+F(N-2)+1&lt;/span&gt; (*) болно.&lt;br /&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;Бодолт ингээд л болчихгүй. Учир нь N-н авч болох дээд утга нь 10^9 орчим. Тэгэхлээр (*) томьёогоор бодвол Log(N) хугацаа буюу 1 секундэд лав амжихгүй. Тиймээс жаахан сайжруулъя.&lt;br /&gt;(*) томьёо нь бараг л алдарт &lt;a href="http://en.wikipedia.org/wiki/Fibonacci_number"&gt;Фибоначийн тоо&lt;/a&gt;ны аналитик загвар байгаа биз? Тиймээс энэ томьёогоор жаахан оролдвол F(N)=Fib(N+2)-1 болохыг түвэггүй мэдчихнэ. (Fib(N) - N-дүгээр фибоначийн тоо) Иймээс Fib(N)-г хурдан олох арга хайя.&lt;br /&gt;&lt;br /&gt;F(N) функцийг бодвол Фибоначийн тоо нэлээн судлагдсан учир &lt;a href="http://en.wikipedia.org/"&gt;Wikipedia&lt;/a&gt; жаахан &lt;a href="http://en.wikipedia.org/wiki/Fibonacci_number#Fifth_identity"&gt;ухахад&lt;/a&gt; л:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Fib(2N) = Fib(N)^2 + 2*Fib(N)*Fib(N+1)&lt;br /&gt;Fib(2N+1) = Fib(N)^2 + Fib(N+1)^2&lt;/span&gt; (**)&lt;br /&gt;гэсэн аятайхан томьёог олж болно. (**) Томьёог ашиглан Fib(N+2)-г Log2(N) буюу Log(N) хугацаанд бодно.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-3610743483213909282?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/3610743483213909282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2009/09/blog-post.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/3610743483213909282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/3610743483213909282'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2009/09/blog-post.html' title='Цэрэг'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-4037508668192113026</id><published>2009-08-19T11:08:00.014+08:00</published><updated>2009-08-19T21:46:26.004+08:00</updated><title type='text'>Mini Judge :D</title><content type='html'>Нэтээр тэнэж яваад http://scarky.com гэдэг сайт оллоо. Энэ сайт нь жижигхэн бодлого дэвшүүлж түүнийгээ өөрийн сайт дээр тавих боломжтой юм байна. За туршилтын энэ бодлогыг оролдож үзнэ үү. Хугацааны хязгаарлалт сайн алга 2-3 сек байж магад.&lt;br /&gt;&lt;iframe style="border: 0px none ; overflow: hidden;" src="http://scarky.com/widget/getiframe/P209D6EC/width=400&amp;amp;height=370" width="400" frameborder="0" height="370"&gt;&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;br&amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-4037508668192113026?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/4037508668192113026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2009/08/httpscarcky.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/4037508668192113026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/4037508668192113026'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2009/08/httpscarcky.html' title='Mini Judge :D'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-2368423156134259060</id><published>2009-05-19T22:44:00.016+08:00</published><updated>2009-09-24T13:00:56.245+08:00</updated><title type='text'>Програмчлалын 19-р олимпиадын бодлогууд</title><content type='html'>Оюутны улсын олимпиадын бодлогууд.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;run&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__fWt3lVs8MQ/ShQLH_AE-FI/AAAAAAAAAB0/1UAPBSaVxBw/s1600-h/Day1-1.jpg"&gt;&lt;img style="cursor: pointer; width: 294px; height: 400px;" src="http://2.bp.blogspot.com/__fWt3lVs8MQ/ShQLH_AE-FI/AAAAAAAAAB0/1UAPBSaVxBw/s400/Day1-1.jpg" alt="" id="BLOGGER_PHOTO_ID_5337903690139629650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;neon&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__fWt3lVs8MQ/ShQLIuITwcI/AAAAAAAAAB8/LHoSo-xVusM/s1600-h/Day1-2.jpg"&gt;&lt;img style="cursor: pointer; width: 298px; height: 400px;" src="http://4.bp.blogspot.com/__fWt3lVs8MQ/ShQLIuITwcI/AAAAAAAAAB8/LHoSo-xVusM/s400/Day1-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5337903702790619586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;uguudei&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__fWt3lVs8MQ/ShQLJBEc-zI/AAAAAAAAACE/kluDeomaNZA/s1600-h/Day1-3.jpg"&gt;&lt;img style="cursor: pointer; width: 291px; height: 400px;" src="http://3.bp.blogspot.com/__fWt3lVs8MQ/ShQLJBEc-zI/AAAAAAAAACE/kluDeomaNZA/s400/Day1-3.jpg" alt="" id="BLOGGER_PHOTO_ID_5337903707874720562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;cirpix&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__fWt3lVs8MQ/ShQLJEJ36GI/AAAAAAAAACM/8RChCKSaYGo/s1600-h/Day2-1.jpg"&gt;&lt;img style="cursor: pointer; width: 292px; height: 400px;" src="http://2.bp.blogspot.com/__fWt3lVs8MQ/ShQLJEJ36GI/AAAAAAAAACM/8RChCKSaYGo/s400/Day2-1.jpg" alt="" id="BLOGGER_PHOTO_ID_5337903708702763106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;OneMad&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__fWt3lVs8MQ/ShQLJll5T1I/AAAAAAAAACU/ko1MEEGs62w/s1600-h/Day2-2.jpg"&gt;&lt;img style="cursor: pointer; width: 291px; height: 400px;" src="http://2.bp.blogspot.com/__fWt3lVs8MQ/ShQLJll5T1I/AAAAAAAAACU/ko1MEEGs62w/s400/Day2-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5337903717678665554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;mem&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__fWt3lVs8MQ/ShQLUIO-72I/AAAAAAAAACc/7S4PZ-8KNMM/s1600-h/Day2-3.jpg"&gt;&lt;img style="cursor: pointer; width: 236px; height: 320px;" src="http://1.bp.blogspot.com/__fWt3lVs8MQ/ShQLUIO-72I/AAAAAAAAACc/7S4PZ-8KNMM/s320/Day2-3.jpg" alt="" id="BLOGGER_PHOTO_ID_5337903898776498018" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-2368423156134259060?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/2368423156134259060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2009/05/19.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/2368423156134259060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/2368423156134259060'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2009/05/19.html' title='Програмчлалын 19-р олимпиадын бодлогууд'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__fWt3lVs8MQ/ShQLH_AE-FI/AAAAAAAAAB0/1UAPBSaVxBw/s72-c/Day1-1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-6441207593279266670</id><published>2009-04-15T09:00:00.004+08:00</published><updated>2009-04-15T09:34:57.811+08:00</updated><title type='text'>Нийлбэрт задлах боломжууд</title><content type='html'>Тавил :&lt;br /&gt;Өгөгдсөн N тоог 1..N тоонуудын нийлбэрт хичнээн янзаар задлаж болох вэ?&lt;br /&gt;1+2+1,1+1+2. Энэ 2 нийлбэрийг ижил гэж үзэх учраас бодлогыг үл буурах тоонуудын нийлбэрт задлах бодлого гэж ойлгож болно.&lt;br /&gt;s[i,j]-р i тоог задлах боломжуудын дотроос хамгийн сүүлийн тоо нь j байх боломжийн тоог тэмдэглэе.&lt;br /&gt;s[i,j]=Σs[i-j,k] (k=1..j)&lt;br /&gt;Ингээд бодлогын хариу &lt;br /&gt;Σs[n,i] (i=1..n)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-6441207593279266670?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/6441207593279266670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2009/04/blog-post.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6441207593279266670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6441207593279266670'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2009/04/blog-post.html' title='Нийлбэрт задлах боломжууд'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-2854759965947554628</id><published>2009-01-23T18:35:00.002+07:00</published><updated>2009-01-29T07:46:39.369+07:00</updated><title type='text'>Ball</title><content type='html'>Хоосон эсвэл ханаас бүтсэн NхN хэмжээтэй хөлгийн хоосон нүдэнд бөмбөг байрлана. Мөн хөлгийгтойроод хана байгаа. Хөлгийг цагийн зүүний эсрэг, эсвэл цагийн зүүний дагуу эргүүлнэ. Эргүүлэхэд бөмбөг татах хүчний дагуу доошоо унана. Унахдаа хана байвал нэвтэлж чадахгүй ханан дээр тогтоно.&lt;br /&gt;К удаа эргүүлсний дараа хөлөг ямар байдалтай байхыг харуул.&lt;br /&gt;( 1&lt;=N&lt;=1000 ) , ( 1&lt;=K&lt;=500 000 )&lt;br /&gt;Зөвхөн бөмбөгний хувьд бодолт хийе. Өөрөөр хэлбэл K үйлдлийн дараа бөмбөг хаана байрлах вэ? Гэдгийг тогтооё. Жишээ нь цагийн зүүны дагуу эргүүлнэ гэвэл бөмбөгний баруун талд орших хамгийн ойрхон ханыг олно гэсэн үг юм.&lt;br /&gt;Хөлгийн элемэнт бүрд хамгийн ойр орших зүүн, баруун, дээд, доод ханын координатыг массивт хадгалаад бодвол хялбар бодогдно.&lt;br /&gt;O(n^2+k);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-2854759965947554628?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/2854759965947554628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2009/01/ball.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/2854759965947554628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/2854759965947554628'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2009/01/ball.html' title='Ball'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-286679657735652953</id><published>2008-12-16T20:43:00.002+07:00</published><updated>2008-12-16T20:50:54.760+07:00</updated><title type='text'>Олимпиад</title><content type='html'>Өнгөрсөн хагас сайнд буюу 12.13 нд фүжи инфокс нэт компаний нэрэмжит II олимпиад болж өнгөрлөө. Их ч олон оюутан орлоо. Олимпиадын дүнг танилцуулья.&lt;br /&gt;1. МУИС-н МТС-н оюутан Батчунаг&lt;br /&gt;2. МУИС-н МКС-н оюутан Золбаяр&lt;br /&gt;   МУИС-н МТС-н оюутан Гантулга&lt;br /&gt;3. МУИС-н МКС-н оюутан Хасан&lt;br /&gt;   МУИС-н МТС-н оюутан Мөнгөншагай&lt;br /&gt;   USI-н оюутан Буянбат&lt;br /&gt;Тусгай байр :&lt;br /&gt;   МУИС-н МКС-н оюутан Хонгор&lt;br /&gt;   КТМС-н оюутан Шагай&lt;br /&gt;   КТМС-н оюутан Адъяа&lt;br /&gt;За олимпиадын дүн нэг иймэрхүү. Бодлогуудыг www.spoj.pl/CSMS/ сайт дээрээс үзэж болно.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-286679657735652953?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/286679657735652953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2008/12/blog-post_16.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/286679657735652953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/286679657735652953'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2008/12/blog-post_16.html' title='Олимпиад'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-5621269481132957</id><published>2008-12-07T20:23:00.005+07:00</published><updated>2008-12-07T20:49:45.859+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><title type='text'>Квадрат тэгшитгэл</title><content type='html'>Квадрат тэгшитгэлийн шийдийг ол. a*x*x+b*x+c=0&lt;br /&gt;Оролт:&lt;br /&gt;Эхний мөрөнд шийдийн тоо: N (1&lt;=N&lt;=1000)&lt;br /&gt;Дараагийн N мөрөнд тоонууд an, bn, cn тоонууд (an тэгээс ямагт ялгаатай байна) сул зайгаар тусгаарлагдан өгөгдөнө. a, b, c тоонууд бодит тоонууд бөгөөд ямар ч тохиолдолд таслалаас хойш 3 орны нарийвчлалтай өгөгдөнө. Тухайлбал: 5-г 5.000 гэж бичнэ.  Шийдийг хэвлэхдээ таслалаас хойш 3 орны нарийвчлалтай хэвлэж гаргана.&lt;br /&gt;Хязгаарлалт : -10^6 &lt; a, b ,c&lt;10^6&lt;br /&gt;&lt;a href="http://coder.mn/problems/show/201"&gt;Эх өгүүлбэр&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Бодолт&lt;br /&gt;Уул нь энгийн л бодлого. Гол асуудал бодит тооны нарийвчлал. &lt;br /&gt;a*x^2+b*x+c=0 &lt;br /&gt;1000*a*x^2+1000*b*x+1000*c=0&lt;br /&gt;Уг хоёр тэгшитгэл ижил үр дүн үзүүлнэ. Одоо бодоход амархан биз.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-5621269481132957?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/5621269481132957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2008/12/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5621269481132957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/5621269481132957'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2008/12/blog-post.html' title='Квадрат тэгшитгэл'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-7496748783766526574</id><published>2008-11-06T21:52:00.007+07:00</published><updated>2009-09-13T13:36:15.791+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><title type='text'>Шадар гурван квадрат</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Тавил:&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hjlqD8QARfM/SRMIdN9IKXI/AAAAAAAAA_0/X5qVvpwQC38/s1600-h/3k.jpg"&gt;&lt;img style="float:left; margin:5px;cursor:pointer; cursor:hand;width: 50px; height: 50px;" src="http://2.bp.blogspot.com/_hjlqD8QARfM/SRMIdN9IKXI/AAAAAAAAA_0/X5qVvpwQC38/s320/3k.jpg" align="left" border="0" alt=""id="BLOGGER_PHOTO_ID_5265561687381518706" /&gt;&lt;/a&gt; 4xN тэгш өнцөгтийг зурагт дүрсэлсэн хэлбэртэй 3 квадратаар (эргүүлж болно) илүү гаргалгүй, давхардуулалгүй, дунд нь нүд үлдээхгүй дүүргэх нийт боломжийн тоог ол.&lt;br /&gt;Эх өгүүлбэр: &lt;a href="http://coder.mn/problems/show/155"&gt;Шадар гурван квадрат&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Бодолт:&lt;/span&gt; &lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;N mod 3 != 0 үед хариу нь 0 байх нь тодорхой.&lt;br /&gt;N = 3*K гэвэл. &lt;pre&gt;11111...&lt;br /&gt;11111...&lt;br /&gt;11111...&lt;br /&gt;11111...&lt;/pre&gt;хэлбэртэй 4x3K хэмжээтэй дүрсийг &lt;pre&gt;10&lt;br /&gt;11&lt;/pre&gt;дүрсээр хувааж болох хувилбарын тоог F(n) гэе. &lt;pre&gt;00111...&lt;br /&gt;00111...&lt;br /&gt;01111...&lt;br /&gt;01111...&lt;/pre&gt;хэлбэртэй 4x3K+6 хэмжээтэй дүрсийг&lt;br /&gt;&lt;pre&gt;10&lt;br /&gt;11&lt;/pre&gt;дүрсээр хувааж болох хувилбарын тоог G(n) гэе.&lt;br /&gt;&lt;br /&gt;Тэгвэл:&lt;br /&gt;&lt;b&gt;F(k) = 4*F(k-1) + 4*G(k-2) + 2*F(k-2);&lt;br /&gt;G(k) = 2*F(k-1) + 6*G(k-1);&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;F(0) = 1; F(1) = 4;&lt;br /&gt;G(0) = 0; G(1) = 2;&lt;/b&gt;&lt;br /&gt;гэсэн рекурсив функц олдоно. Эндээc F(k) нь хариу болно.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-7496748783766526574?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/7496748783766526574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2008/11/blog-post.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7496748783766526574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7496748783766526574'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2008/11/blog-post.html' title='Шадар гурван квадрат'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_hjlqD8QARfM/SRMIdN9IKXI/AAAAAAAAA_0/X5qVvpwQC38/s72-c/3k.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-7397178502077012032</id><published>2008-10-03T21:42:00.004+08:00</published><updated>2009-09-17T12:48:07.759+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><category scheme='http://www.blogger.com/atom/ns#' term='Dynamic programming'/><title type='text'>Нүх</title><content type='html'>&lt;div align="justify"&gt;&lt;strong&gt;Тавил&lt;/strong&gt;&lt;br /&gt;0,1 гээс бүрдэх массивт агуулагдах зөвхөн тэгээс бүрэлдэх хамгийн том квадратын хэмжээг ол.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Бодолт&lt;/strong&gt;&lt;br /&gt;f(x,y) функцээр зүүн доод булан нь (x,y) байх хамгийн том квадратын талыг тэмдэглэе.&lt;br /&gt;Хэрвээ (x,y) нүд 1 бол    f(x,y)=0&lt;br /&gt;                    үгүй бол    f(x,y)=min(f(x-1,y-1),f(x,y-1),f(x-1,y))+1&lt;br /&gt;болно.&lt;br /&gt;Бүх x,y-гийн хувьд f(x,y)-ийг бодож олоод хамгийн ихийг нь олвол тэр нь хариу болно.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-7397178502077012032?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/7397178502077012032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2008/10/blog-post.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7397178502077012032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7397178502077012032'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2008/10/blog-post.html' title='Нүх'/><author><name>B.Tserenchimed</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-2946139071391256909</id><published>2008-09-11T20:33:00.009+08:00</published><updated>2009-09-13T14:22:09.897+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><title type='text'>Факториалын сүүлийн тэг биш цифр</title><content type='html'>Өгсөн n натурал тооны факториалын хамгийн арын тэг биш цифрийг ол.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Жишээ 1:&lt;/span&gt;&lt;br /&gt;Оролт: 5&lt;br /&gt;Гаралт: 2  // 5!=120 -&amp;gt; 2&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Жишээ 2:&lt;/span&gt;&lt;br /&gt;Оролт: 1000000&lt;br /&gt;Гаралт: 4&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Эх өгүүлбэр:&lt;/span&gt; &lt;a href="http://www.coder.mn/problems/show/50"&gt;[Факториал 2]&lt;/a&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;Энэ бодлогын тухай дахь өөрийнхөө мэдэж байгаа хамгийн сайн алгоритмаа танилцуулъя.&lt;br /&gt;N=1 үед л хариу сондгой тоо гарна. Иймд N=1 үед хариу:1. Харин бусад тохиолдолд нь:&lt;br /&gt;1. 1*2*3*4*6*7*8*9 (5 болон 0-г орхисон) үржвэрийг сонирхвол сүүлийн тэг биш цифр нь 6 байгаа. Энэ бол бодлогын маань гол түлхүүр.&lt;br /&gt;2. 6-г ямар ч тэгш цифрээр үржүүлсэн тэр тэгш цифрээр нь төгссөн тоо гардаг.&lt;br /&gt;&lt;br /&gt;N0 = N - (N MOD 10) гэж тэмдэглэе (тооны сүүлийн цифрийг тэг болгосон гэсэн үг)&lt;br /&gt;&lt;br /&gt;1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... N0&lt;br /&gt;гэсэн дараалын 10-т болгон дахь  (1, 2, 3, 4, 6, 7, 8, 9) гэсэн цифрүүдээр төгссөн тоонууд нь 6-гаар төгсөх учир (2) - ээс үндэслэн эдгээрийг орхичихож болно.&lt;br /&gt;Тэгэхлээр дараах тоонууд үлдэнэ:&lt;br /&gt;5 10 15 20 25 30 35 40 45 ... N0 N0+1 ... N&lt;br /&gt;Ингээд N0 болон түүнээс өмнөх тоонуудыг 5-д хуваачихвал 1 2 3 4 5 ... гэх мэт цуваа үүснэ...&lt;br /&gt;Тэгэхлээр бүдүүн тоймоор бол:&lt;br /&gt;F(n) = ( 5^(n/5) * F(n/5) * (N0+1 * ... * N) тооны сүүлийн тэг биш цифр) гэсэн рекурсив гарна.&lt;br /&gt;&lt;br /&gt;Тэгээд 5^k гэсэн илэрхийлэл нь тооцоог хүндрүүлэх тул:2^n зэргийг үржүүлээд хуваагаад өгчихвөл 10^k/2^k зэрэг болох ба энэ нь 16/2=8 байдагаас *6/2=8 (сондгой тоог тооцохгүй!) гэж үзэж болно. Иймэд 5^k =&amp;gt; 10^k / 2^k =&amp;gt; 8^k гэж болно. Мөн 8^(k+4) = 8^k * 4096 гэдгээс&lt;br /&gt;8^(k+4) mod 10 = 8^k mod 10 гэж гарна.&lt;br /&gt;&lt;br /&gt;Иймд &lt;br /&gt;F(n) = 8^(n/5 mod 4) * F(n/5) * (N0+1 * ... * N); гэсэн рекурсив гарах ба энэ нь бодолтонд хангалттай.&lt;br /&gt;N0+1 -ээс N хүртэл (N mod 10) тоо байгаа учраас (N0+1 * ... * N) илэрхийллийг яаж л бол яаж хялбарчилж болно.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Жишээ бодолт:&lt;/span&gt;&lt;br /&gt;n = 123 үед&lt;br /&gt;&lt;b&gt;123! == 5^14 * 14! * (121 * 122 * 123) == 8^14 * 14! * 6 == 14! * 4;&lt;br /&gt;4*14! == 4 * 5^2 * 2! * (11*12*13*14) == 4 * 8^2 * 2 * 4 == 6;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Алгоритмийн шинжилгээ: O(log5(N))&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-2946139071391256909?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/2946139071391256909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2008/09/blog-post_5630.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/2946139071391256909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/2946139071391256909'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2008/09/blog-post_5630.html' title='Факториалын сүүлийн тэг биш цифр'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-9071501414673018751</id><published>2008-09-10T16:20:00.006+08:00</published><updated>2008-09-26T12:18:27.609+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><title type='text'>Булийн функц</title><content type='html'>Эрдэмтэн Буль өөрийн судалгаандаа логикийн үнэн худлыг ашигласан функц зохиож ашиглахаар шийджээ. Энэхүү функц нь тодорхой тооны аргумент авдаг ба түүнд харгалзах үнэн-1 эсвэл худал-0 гэсэн үгийг хэвлэдэг байжээ. Функц болгон нь өөрийн дугаартай байдаг. Жишээ нь: 141-р функц гэвэл 141=10001101B байна. Доорх жишээнд бүр тодорхой үзүүлье.&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;blockquote&gt; x1 | x2 | x3 |  f&lt;br /&gt;  0  |  0 |  0 |  1&lt;br /&gt;  0  |  0 |  1 |  0&lt;br /&gt;  0  |  1 |  0 |  1&lt;br /&gt;  0  |  1 |  1 |  1&lt;br /&gt;  1  |  0 |  0 |  0&lt;br /&gt;  1  |  0 |  1 |  0&lt;br /&gt;  1  |  1 |  0 |  0&lt;br /&gt;  1  |  1 |  1 |  1&lt;/blockquote&gt;&lt;br /&gt;Хэрвээ функцийн аргументаар f(0,1,0) гэвэл энэ нь үнэн болно. Харин f(1,1,0)=0. Та дараах программыг бичих ёстой. Оролтын эхний мөрөнд тестийн тоо байрлах ба дараагийн мөрөнд функцэд харгалзах аргументууд ба мөрийн сүүлд функцийн дугаар байна. Гаралтанд зөвхөн 1 эсвэл 0-үүдийг оролтынх нь дарааллаар бичиж гаргана (A[i]). Аргументуудын тоо нь дөрвөөс хэтрэхгүй (j&lt;5&gt;&lt;br /&gt;Оролт:&lt;br /&gt;&lt;blockquote&gt;n&lt;br /&gt;x1 x2 ... xj F&lt;br /&gt;...&lt;/blockquote&gt;&lt;br /&gt;Гаралт:&lt;br /&gt;&lt;blockquote&gt;A1&lt;br /&gt;A2&lt;br /&gt;...&lt;br /&gt;An&lt;/blockquote&gt;&lt;br /&gt;Жишээ оролт:&lt;br /&gt;&lt;blockquote&gt;3&lt;br /&gt;1 0 1 141&lt;br /&gt;0 0 0 1&lt;br /&gt;1 1 15&lt;/blockquote&gt;&lt;br /&gt;Жишээ гаралт:&lt;br /&gt;&lt;blockquote&gt;0&lt;br /&gt;1&lt;br /&gt;1&lt;/blockquote&gt;&lt;br /&gt;Тайлбар: Хоёрдох жишээ оролтонд дараах үнэний хүснэгт үүснэ. Х-ийн {0,0,0} утганд харгалзах функцийн утга нь 1 байна.&lt;br /&gt;&lt;blockquote&gt; x1 | x2 | x3 |  f&lt;br /&gt;   0  |  0 |  0 |  1&lt;br /&gt;   0  |  0 |  1 |  0&lt;br /&gt;   0  |  1 |  0 |  0&lt;br /&gt;   0  |  1 |  1 |  0&lt;br /&gt;   1  |  0 |  0 |  0&lt;br /&gt;   1  |  0 |  1 |  0&lt;br /&gt;   1  |  1 |  0 |  0&lt;br /&gt;   1  |  1 |  1 |  0&lt;/blockquote&gt;&lt;br /&gt;Бодлогын эх : &lt;a href="http://coder.mn/problems/show/173"&gt;Булийн функц&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Бодолт&lt;br /&gt;&lt;br /&gt;зөвхөн нэг тестийн хувьд авч үзье. x1,x2..xn г 2 тийн тооллын системд өгөгдсөн гэж үзээд аравтын тооллын системд шилжүүлээд K гэж тэмдэглэе. Тэгвэл бодлогын хариу нь  F н 2тийн тооллын систем дэхь бичлэгийн ардаасаа K+1 дахь цифр болно. Хэрвээ K+1 дахь цифр байхгүй бол 0 гэсэн үг болно.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-9071501414673018751?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/9071501414673018751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2008/09/blog-post_4449.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/9071501414673018751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/9071501414673018751'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2008/09/blog-post_4449.html' title='Булийн функц'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-8098368244444446478</id><published>2008-09-10T16:12:00.005+08:00</published><updated>2008-09-26T12:18:27.609+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><title type='text'>Байрлал</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Тавил:&lt;/span&gt;&lt;br /&gt;Тэмдэгтүүдийн дараалал өгөгджээ. (Тэмдэгтүүд бүгд хоорондоо ялгаатай) Тэгвэл уг тэмдэгтүүдээс цагаан толгойн дарааллаар сэлгэмэл үүсгэхэд уг тэмдэгтийн дараалал хэддүгээр гишүүн бэ?&lt;br /&gt;Жишээ:&lt;br /&gt;Оролт:  bza:&lt;br /&gt;Гаралт: 4&lt;br /&gt;//(abz,azb,baz,bza,zab,zba)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Эх өгүүлбэр:&lt;/span&gt; &lt;a href="http://coder.mn/problems/show/188"&gt;Байрлал&lt;/a&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;Бодолт:&lt;br /&gt;&lt;blockquote&gt;i =  Оролтын эхнээсээ i дахь үсэг // 1-ээс n хүртэл;&lt;br /&gt;order[i] = (i-дахь үсгийн араас байрлалтай үсэгнүүдээс цагаан толгойн дарааллаар i-аас өмнө орших үсэгнүүдийн тоо) + 1;&lt;/blockquote&gt;&lt;br /&gt;Хариу = 1 + order[1]*(n-1)! + order[2]*(n-2)! + order[3]*(n-3)! + ... order[n-1]*1!;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Баталгаа:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;i&lt;/span&gt; дахь үсгийн ард &lt;span style="font-weight: bold;"&gt;(n-i)&lt;/span&gt; үсэг байгаа ба тэдгээр нь &lt;span style="font-weight: bold;"&gt;(n-i)!&lt;/span&gt; сэлгэмэл үүсгэнэ. Мөн &lt;span style="font-weight: bold;"&gt;i&lt;/span&gt; дахь үсгийн өмнө &lt;span style="font-weight: bold;"&gt;order[i]&lt;/span&gt; ширхэг үсэг байгаа ба тэдгээр нь ардаа тус бүр &lt;span style="font-weight: bold;"&gt;(n-i)&lt;/span&gt; янзын өөр цуваа залгаатай байгаа учраас комбинаторик дахь үржвэрийн дүрмээр &lt;span style="font-weight: bold;"&gt;order[i]*(n-i)&lt;/span&gt; байгаа юм.&lt;br /&gt;Тэгээд мэдээж &lt;span style="font-weight: bold;"&gt;i&lt;/span&gt; маань 1-ээс n хүртэл утга авах ба &lt;span style="font-weight: bold;"&gt;i=n&lt;/span&gt; үед &lt;span style="font-weight: bold;"&gt;order[i]*0! = 0&lt;/span&gt; байх нь ойлгомжтой билээ.&lt;br /&gt;Дээр нь тоог 1-ээс эхэлж дугаарладаг учраас 1-г нэмж өгөөд болно.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update:&lt;/span&gt; 2 дахь мөрийн эхний өгүүлбэрийн ард "(Тэмдэгтүүд бүгд хоорондоо ялгаатай)" гэж нэмж бичив.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-8098368244444446478?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/8098368244444446478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2008/09/blog-post_7567.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8098368244444446478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/8098368244444446478'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2008/09/blog-post_7567.html' title='Байрлал'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-6862443913809896725</id><published>2008-09-10T16:12:00.003+08:00</published><updated>2008-09-26T12:18:50.776+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spoj.pl/CHAMKA'/><category scheme='http://www.blogger.com/atom/ns#' term='Coder.mn'/><title type='text'>Жимс</title><content type='html'>Бяцхан сармагчин жимс цуглуулахаар явж байв. Тэрээр байгаа чулууны баруун урд, эсвэл зүүн урд чиглэлийн чулуу уруу л шилжиж чадна. Чулуу болгонд тодорхой хэмжээний жимс байх бөгөөд эцсийн шатанд сармагчиний авч чадах хамгийн их жимсний тоог ол.&lt;br /&gt;Input&lt;br /&gt;N: Эхний мөр нийт шилжилтийн тоо. a(i,j), 1 &lt; = j &lt; = i &lt; = N Чулуу болгон дээр байгаа жимсний тоо 0 &lt; = N, a(i,j) &lt;= 200 Output Цуглуулж чадах хамгийн их жимсний тоо Example  Input: 3 0 3 1 1 2 2 Output: 5  &lt;br /&gt;Бодлогын эх: &lt;a href="http://www.spoj.pl/CHAMKA/problems/CODE0004/"&gt;Жимс&lt;/a&gt;&lt;br /&gt;&lt;span id="fullpost"&gt;&lt;br /&gt;Бодолт&lt;br /&gt;Эхлээд N-1 дэх мөрийг авч үзье. Тэгвэл a[n-1,i] дээр max(a[n,i],a[n,i+1]) ийг нэмье.&lt;br /&gt;Дараа нь N-2 дэх мөрийг авч мөн уг үйлдлийг хийнэ. Энэ алхмыг үргэлжлүүлсээр 1 дэх мөр хүртэл хийнэ. Ингээд a[1,1] нь анхны бодлогын хариу болно.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-6862443913809896725?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/6862443913809896725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2008/09/blog-post_3517.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6862443913809896725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/6862443913809896725'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2008/09/blog-post_3517.html' title='Жимс'/><author><name>Хонгор</name><uri>http://www.blogger.com/profile/10323098680224632882</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6103350158811287019.post-7740563664470361238</id><published>2008-09-10T16:06:00.000+08:00</published><updated>2008-09-26T12:19:03.783+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>Өмнөх үг</title><content type='html'>Энэхүү блогийг нээж байгаа залуучууд нь анх Online Judge систем бүхий сайтуудад бодлого бодож байгаад танилцсан бөгөөд хүмүүст хэрэг болж магадгүй хэмээн сурсан мэдсэн жаахан зүйлсээсээ нийтлэж байхаар шийдлээ.&lt;br /&gt;Бидэнд үргэлж тусалж дэмжиж байдаг Чимэдээ ахын &lt;a href="http://chamka.blogspot.com/"&gt;блогноос&lt;/a&gt; санаа аван энэхүү блогийг нээлээ.&lt;br /&gt;Мөн Монгол хэл дээр Online Judge системээр дамжуулан тэмцээн уралдаан болдог дараах сайтуудыг ажиллуулдаг хүмүүст баярлаж талархаж явдаг шүү.&lt;br /&gt;&lt;a href="http://www.coder.mn"&gt;http://www.coder.mn&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.spoj.pl/CSMS"&gt;http://www.spoj.pl/CSMS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.spoj.pl/CHAMKA"&gt;http://www.spoj.pl/CHAMKA&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6103350158811287019-7740563664470361238?l=codermn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://codermn.blogspot.com/feeds/7740563664470361238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://codermn.blogspot.com/2008/09/blog-post_9911.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7740563664470361238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6103350158811287019/posts/default/7740563664470361238'/><link rel='alternate' type='text/html' href='http://codermn.blogspot.com/2008/09/blog-post_9911.html' title='Өмнөх үг'/><author><name>Мөнхбаатар</name><uri>http://www.blogger.com/profile/04972367711923850373</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_hjlqD8QARfM/TEa3BJVcbqI/AAAAAAAACI4/AcDlUFiOH_s/S220/avatar.jpg'/></author><thr:total>2</thr:total></entry></feed>
