# ДАРХАНЫ 26-р ДУНД СУРГУУЛЬ / USACO /

 2012-11-17 03:53:48 Зайн сургалт by Bataa 2012 оны 12-р сарын 1-нээс эхлэх мэдээлэл зүйн анхан болон дунд шатны зайн сургалтанд бүртгэж байна. Багш Ц.Баттогтох Дархан-Уул аймаг, 26-р сургууль, 99372288, gipsymn@yahoo.com 2010-03-20 18:32:08 Дэмжин туслах хүмүүсийг урьж байна. by Bataa www.usaco.org сайтнаас бодлогууд болон текст материалууд орчуулж байгаа болно. Мөн бодлого бодон анализ хийвэл бүүр сайн байна. Энэхүү сайт дээр англиар тавигдсан бодлогууд болон текстүүд байх болно. Жишээ нь: RGB1331-RGB1344 дугаартай бодлогууд Text : Gready algorithm email : gipsymn@yahoo.com Хүндэтгэсэн Ц.Баттогтох 2010-03-10 19:25:57 Greedy Algorithm by Bataa Sample Problem: Barn Repair [1999 USACO Spring Open] There is a long list of stalls, some of which need to be covered with boards. You can use up to N (1 <= N <= 50) boards, each of which may cover any number of consecutive stalls. Cover all the necessary stalls, while covering as few total stalls as possible. The Idea The basic idea behind greedy algorithms is to build large solutions up from smaller ones. Unlike other approaches, however, greedy algorithms keep only the best solution they find as they go along. Thus, for the sample problem, to build the answer for N = 5, they find the best solution for N = 4, and then alter it to get a solution for N = 5. No other solution for N = 4 is ever considered. Greedy algorithms are fast, generally linear to quadratic and require little extra memory. Unfortunately, they usually aren't correct. But when they do work, they are often easy to implement and fast enough to execute. Problems There are two basic problems to greedy algorithms. How to Build How does one create larger solutions from smaller ones? In general, this is a function of the problem. For the sample problem, the most obvious way to go from four boards to five boards is to pick a board and remove a section, thus creating two boards from one. You should choose to remove the largest section from any board which covers only stalls which don't need covering (so as to minimize the total number of stalls covered). To remove a section of covered stalls, take the board which spans those stalls, and make into two boards: one of which covers the stalls before the section, one of which covers the stalls after the section. Does it work? The real challenge for the programmer lies in the fact that greedy solutions don't always work. Even if they seem to work for the sample input, random input, and all the cases you can think of, if there's a case where it won't work, at least one (if not more!) of the judges' test cases will be of that form. For the sample problem, to see that the greedy algorithm described above works, consider the following: Assume that the answer doesn't contain the large gap which the algorithm removed, but does contain a gap which is smaller. By combining the two boards at the end of the smaller gap and splitting the board across the larger gap, an answer is obtained which uses as many boards as the original solution but which covers fewer stalls. This new answer is better, so therefore the assumption is wrong and we should always choose to remove the largest gap. If the answer doesn't contain this particular gap but does contain another gap which is just as large, doing the same transformation yields an answer which uses as many boards and covers as many stalls as the other answer. This new answer is just as good as the original solution but no better, so we may choose either. Thus, there exists an optimal answer which contains the large gap, so at each step, there is always an optimal answer which is a superset of the current state. Thus, the final answer is optimal. Conclusions If a greedy solution exists, use it. They are easy to code, easy to debug, run quickly, and use little memory, basically defining a good algorithm in contest terms. The only missing element from that list is correctness. If the greedy algorithm finds the correct answer, go for it, but don't get suckered into thinking the greedy solution will work for all problems. Sample Problems Sorting a three-valued sequence [IOI 1996] You are given a three-valued (1, 2, or 3) sequence of length up to 1000. Find a minimum set of exchanges to put the sequence in sorted order. Algorithm The sequence has three parts: the part which will be 1 when in sorted order, 2 when in sorted order, and 3 when in sorted order. The greedy algorithm swaps as many as possible of the 1's in the 2 part with 2's in the 1 part, as many as possible 1's in the 3 part with 3's in the 1 part, and 2's in the 3 part with 3's in the 2 part. Once none of these types remains, the remaining elements out of place need to be rotated one way or the other in sets of 3. You can optimally sort these by swapping all the 1's into place and then all the 2's into place. Analysis: Obviously, a swap can put at most two elements in place, so all the swaps of the first type are optimal. Also, it is clear that they use different types of elements, so there is no ``interference'' between those types. This means the order does not matter. Once those swaps have been performed, the best you can do is two swaps for every three elements not in the correct location, which is what the second part will achieve (for example, all the 1's are put in place but no others; then all that remains are 2's in the 3's place and vice-versa, and which can be swapped). Friendly Coins - A Counterexample [abridged] Given the denominations of coins for a newly founded country, the Dairy Republic, and some monetary amount, find the smallest set of coins that sums to that amount. The Dairy Republic is guaranteed to have a 1 cent coin. Algorithm: Take the largest coin value that isn't more than the goal and iterate on the total minus this value. (Faulty) Analysis: Obviously, you'd never want to take a smaller coin value, as that would mean you'd have to take more coins to make up the difference, so this algorithm works. Maybe not: Okay, the algorithm usually works. In fact, for the U.S. coin system {1, 5, 10, 25}, it always yields the optimal set. However, for other sets, like {1, 5, 8, 10} and a goal of 13, this greedy algorithm would take one 10, and then three 1's, for a total of four coins, when the two coin solution {5, 8} also exists. Topological Sort Given a collection of objects, along with some ordering constraints, such as "A must be before B," find an order of the objects such that all the ordering constraints hold. Algorithm: Create a directed graph over the objects, where there is an arc from A to B if "A must be before B." Make a pass through the objects in arbitrary order. Each time you find an object with in-degree of 0, greedily place it on the end of the current ordering, delete all of its out-arcs, and recurse on its (former) children, performing the same check. If this algorithm gets through all the objects without putting every object in the ordering, there is no ordering which satisfies the constraints. 2010-03-08 09:32:00 Бүрэн хайлт by Bataa Үндсэн санаа Бүрэн хайлт ашиглан бодлого бодох нь “Энгийн Тэнэг Байх” зарчимд тулгуурладаг. Тэмцээний бодлого бодох гол зорилго илүү оновчтой алгоритм байгааг үл харгалзан өгсөн хязгаарт багтаж ажиллах програм бичих байдаг. Бүрэн хайлт нь brute force, шугаман хайлт, бүгдийг нь турш зэрэг аргуудыг ашигладаг бөгөөд ихэхдээ хамгийн хялбар арга байдаг. Хэрвээ энэ аргаар бодоод цаг болон санах ойн хязгаарт багтаж байвал энэ аргаараа л бод. Энэ нь кодлох болон алдааг илрүүлэхэд хялбар. Ингэснээрээ brute force аргаар бодож болохгүй хүнд бодлогуудад илүү их цаг зарцуулах боложтой болох юм. Хэдэн саяаас бага боломжтой бодлогонд тус бүрчлэн шалгаж бодлогын хариу олдож байгаа эсэхийг шалгана. Хашир байгаарай Зарим тохиолдолд энэ аргаар бодно гэдэг нь илт байдаггүй. Бодлого. Үдэшлэгийн гэрлүүд [IOI 98] Таньд N ширхэг гэрлийн шил болон 4 унтраалга өгөгджээ. Энхий унтраалга бүх гэрлүүдийн, хоёр дахь нь тэгш дугаартай гэрлүүдийн, гурав дахь нь сондгой дугаарай гэрлүүдийн дөрөв дахь нь 1, 4, 7, 10 гэсэн дарааллаар дугаарлагдсан гэрлүүдийн төлвийг тус тус өөрчилнө. Нийт хэдэн удаа унтраалга дарагдсаныг илэрхийлэх N (10000 хүртэлх) тоо болон зарим гэрлийн шилний одоогийн төлвийг (унтраалттай эсвэл асаалттай) өгөхөд гэрлийн шилнүүдийн байж болох бүх боломжит төлвийг харуулна уу. Өнгөцхөн харахад даралт бүрт 4 боломж тэгэхээр нийт 410000 (ойрлцоогоор 106020) боломжтой өөрөөр хэлбэр энэ бодлогонд бүрэн хайлт ашиглах ямарч боломжгүй. Унтраалгуудын дарагдсан дараалал хамаагүй гэдэг нь энэ тоог 100004 болгож багасгана. Энэ нь ойролцоогоор 1016. Гэсэн хэдий ч бүрэн хайлт хийхэд хэтэрхий их байна (гэхдээ урьдын тооцоолсноос даруй 106000 орчим багассан үзүүлэлт). Гэтэл товчийг 2 удаа дарах нь огт дараагүйтэй адилхан тэгэхээр чиний жинхэнэ шалгах ёстой зүйл бол унтраалга бүрийг 0 эсвэл 1 удаа дарах.Энэ нь 24 =16 боломжтой одоо бүрэн хайлтын аргыг ашиглах нь тодорхой харагдаж байгаа биз. Бодлого: Цагнууд [IOI 94] 9 ширхэг цаг 3х3 хэмжээтэй хүснэгтэнд байх бөгөөд тус бүр нь 12:00, 3:00, 6:00, 9:00 цагийг заажээ. Чиний даалгавар бол тэдгээр цагийг 12:00 зааж буй мэт харуулан өөрчлөх. Харамсалтай нь чи зөвхөн зөвшөөрөгдсөн 9 үйлдлийг л хийх боломжой. Тэдгээр үйлдэл нь 9 цаг бүрийн аль нэгийг 90 градусаар эргүүлэх болно. Хамгийн цөөн үйлдлээр бүх цагийг 12:00 зааж байгаа болгон хувиргах аргыг ол. Ойлгомжой шийдэл бол 1 үйлдлээр хувиргах боломж байна уу, 2 үйлдлээр хувиргах боломж байнуу гэх мэтчилэн шийдэл олтлоо шалгах рекурсив ашиглах. Энэ нь 9k удаа шалгах болно. K нь нийт үйлдлийн тоо. K нь том тоо байж болох тул хязгаарт багтаж хариуг олж чадахгүй. Эргүүлэлтүүдийн дараалал хамаарахгүй гэдгийг тооцвол энэ нь k9 болтлоо багасах хэдий ч хангалттай бага биш. Гэтэл 4 удаа эргүүлэх нь эргүүлэлт хийгээгүйтэй адил. Тиймээс аль ч цагийг 3-с олон удаа эргүүлэхгүй. Тэгэхээр нийт 49 боломжтой энэ нь 262,072. Процессор секундэнд 10,000,000-с олон үйлдэл хийх чадалтай гэхээр хариуг хангалттай богино хугацаанд гаргаж өгнө. Brute force арга нь энэ тохиолдлуудад тохиромжтой. Жишээ бодлогууд Үнээ саах [USACO 1996 уралдааны шат] Үнээ саах цагийн хуваарь (жишээ нь Саальчин А 300 цагаас 1000, саальчин В 700 цагаас 1200, гэх мэт) өгөгдсөн бол Дор хаяж нэг үнээ саагдаж байсан хамгийн урт цагийн зай Нэг ч үнээ саагдаагүй байсан хамгийн урт цагийн зайг ол. Төгс үнээнүүд болон төгс үнээний төрөл садангууд [USACO 1995 сүүлийн шат] Бүх хуваагчдых нь нийлбэр өөртэй нь тэнцүү байх тоог төгс тоо гэнэ. Жишээ нь 28=1+2+4+7+14. Төгс хос тоонууд гэж нэгнийх нь худаагчдын нийлбэр нөгөөтэйгээ тэнцүү байдаг хос тоонуудыг хэлнэ. Эхний тооны худаагдчдын нийлбэр нь хоёр дахь тоотой хоёр дахь тооны худаагчдын нийлбэр нь гурав дахь тоотой гэх мэтчилэн сүүлчийн тооны хуваагчдын нийлбэр нь эхний тоотой тэнцүү байх дарааллыг төгс дараалал гэнэ. Фермер Жоны фирм дахь үнээ бүр нь дугаартай бөгөөд. 1-с 32000 хүртэл дугаарлагдсан. Дугаар нь төгс тоо байвал төгс үнээ гэе. Дугаарууд нь төгс тоон дараалал үүсгэх үнээнүүдийг төгс төрөл садан үнээнүүд гэе. Бүх төгс үнээ болон төгс үнээний төрөл садангуудыг ол. Орчуулсан : Б.Даваабаяр 2010-02-21 08:20:24 Төрөл бүрийн бодлогууд / Ad hoc problems by Bataa Сайтар судлагдсан шийдтэй стандарт төрлийн бодлогуудад ордоггүй алгоритмуудыг холимог төрөлд орно. ‘Ad hoc’ бодлого бүр өөр, тэдгээр бодлогыг бодох тусгайлсан эсвэл ерөнхий арга гэж байдаггүй. Бодлого бүр шинэ сорилуудтай тулгаруулдаг нь энэ төрлийн бодлогуудыг улам сонирхолтой болгодог. Шийдэл нь магадгүй шинэ төрлийн өгөгдлийн бүтэц ашиглах эсвэл энгийн биш давталт, нөхцөл хэрэглэхийг шаарддаг. Заримдаа ховорхон тохиолддог комбинацыг ч шаардана. Тусгай төрлийн эдгээр бодлогуудыг бодохын тулд бодлогын өгүүлбэрийг сайтар унших, өгсөн заавруудыг нямбай дарааллуулах замаар бодлогыг задлах хэрэгтэй. Төрөл бүрийн бодлогуудад тодорхой хэмжээний дүн шинжилгээ хийснээр зайлшгүй хийгдэх 5 давхар давталт зэргээс ч зайлсхийж болох юм. Энэ вэб сайтан дээр төрөл бүрийн бодлогууд бусад аль ч төрлийн бодлогоос олон тавигдана. Хэрвээ бодлого стандарт төрлүүдэд ангилагдахгүй бол төрөл бүрийн бодлого байна гэж үзээрэй. Орчуулсан Б.Даваабаяр 2010-02-19 14:13:00 USACO Танилцуулга by Bataa Бид хэн бэ. АНУ-ын мэдээлэл зүйн олимпиадын хороо (USACO) нь сургалт, уралдаан олон улсын тэмцээн зохиох замаар коллежийн өмнөх програмчлалыг дэмждэг билээ. Цөөн тооны шүүгчид болон АНУ-ыг олон улсын тэмцээнүүдэд төлөөлөн оролцдог сурагчид эдгээр үйл ажиллагааг зохион байгуулдаг. Санхүүжилтын талаарх болон бусад мэдээллийг USACO вэб сайтнаас үзнэ үү. АНУМЗОХ-ны зорилго АНУМЗОХ-ны зорилго нь дараах зүйлсийг агуулна. • АНУ-н баг тамирчдыг дасгалжуулж дараагийн ОУМЗО-аас олон алтан медаль авах. • АНУ-ын сурагчдыг суралцах хөгжихөд нь тусалж эхний зорилгыг биелүүлэх. • АНУ-ын шилдэг 15 сурагчдын дунд найман өдрийн олимпиад зохиож олон улсын тэмцээнд улсаа төлөөлөх 4 сурагчдыг шалгаруулах. Гүнзгий түвшний сургалтын талаар Энэ вэб сайт дахь сургалтууд нь нэгээс хоёр жилийн програмчлалын туршлагатай алгоритм програмчлалын чиглэлд сонирхолтой сурагчдад зориулагдсан. Энд заагдсан арга техникүүд нь хүнд. Хэрвээ чи сайн програмист бол бодлого бодоход хэдэн минутаас хэдэн цаг хүртэл хугацаа зарцуулах болно. Харин анхан шатныханд нэлээд их сургалт туршлага хэрэгтэй тул тийм ч зугаатай биш байх болно. Бид хэзээ нэгэн цагт анхан шатныханд зориулсан арай доод түвшний сургалтын вэб сайттай болно гэж найдаж байна. Энэ вэб сайтын тухай Энэ вэб сайт нь дээр дурдсан зорилтуудыг биелүүлэхэд чиглэгдсэн. • Пасспортоор хамгаалагдсан. • Бүх функциналь үйлдлүүд нь автоматжуулсан тул хэн ч гэсэн 24 цагийн турш хүссэн үедээ өөрийн хурданд тохируулан ямарч шахалт дарамтгүйгээр суралцах боломжтой. • Заавар, бодлогууд болон бодлогын анализ нь товч бөгөөд тодорхой. (унших болон програмчлах цагийг багасгах зорилгоор) • 100 гаруй олимпиадын түвшний бодлогуудтай. • Бодлогуудыг төрөлжүүлэн хүнд хөнгөнөөр нь (хялбар бодлогууд нь эхэндээ) нь ангилсан. • Вэбэд суурилсан дарааллын систем нь суралцагсдыг хүнд бодлогууд руу алгуур хөтлөн оруулах болно. • Оролцогчдыг олон улсын олимпиадын нөхцөлд дасгах зорилгоор алгоритмын дэлгэрэнгүй тайлбар болон бодлогыг ОУМЗО-ын стандарт хэв маягын дагуу бичсэн. • Програмыг автомат үнэлгээний системд бүртгүүлж олон төрлийн өгөгдлөөр тестлэх боломжтой. • Бодолт шалгаж хариу өгөх нь хурдан. (Ихэнхдээ хэдхэн секунд) • Бодлогын шинжилгээнд бодолтыг сайн тайлбартай сайн кодоор тайлбарласан. Шагнал урамшуулал Энэ сайтад шат ахин амжилт гаргах бүрт АНУМЗОХ гэрчилгээ олгоно. Түүнчлэн шилдэг оролцоо нь АНУМЗОХ-оос зохион байгуулдаг 6-р сарын сургалтын зусланд хамрагдах боложийг тань өсгөнө. Улирлын төгсгөлд зарим хүнд бодлогуудад хамгийн хурдан бодолт хийх хариулт илгээсэн оролцогчдод бага хэмжээний шагнал олгоно. Энд оролцогчдын мэдээллийг зарлахад вэб сайтан дээрээс үзээрэй. Хир их цаг зарцуулах вэ? Хүн бүр эдгээр материалуудыг үзэж дуусгахад янз бүрийн цаг зарцуулна. Ялангуяа 100+ програмуудад. Зарим сурагчид олон жилийн туршлагатай байхаас гадна олон улсын түвшний уралдаан тэмцээнд орсон туршагатай байдаг. Гэтэл зарим нь дөнгөж тэмцээнд оролцож эхэлж байх шижээтэй. Гэвч хоёр долоо хоногт нэг бодлого бодох нь шагналын сургалтанд хамрагдахад хангалттай биш. Шилдэг сайн сурагчид эхний хоёр бүлгийн бодлогуудыг өдөрт дунджаар нэг буюу түүнээс дээш тооны бодлого боддог болохыг тогтоожээ. (түүний дараанаас удааширдаг). Энэ сайтыг илүү үр дүнтэй хэрэглэхийн тулд бодлогуудыг дарааллын дагуу бодож зааварчилгааг нэг бүрчлэн ойлгож чиний бодолтой хир нийцэж байгааг нь задлан шижлэх хэрэгтэй. Бодлогын анализыг уншсаны дараа бодолтоо сайжруулах нь мэдээж чөлөөтэй. Мөн түүнчлэн чамд шинэлэг санаа эсвэл илүү сайн анализ байвал бидэнд илгээвэл дуртай хүлээж авна. Урдирдамж Энэ сайтыг ашиглахад хялбар байх хэдэн зүйлс: • Шинчлэлийг үзэхийн тулд “Back to USACO Gateway” холбоосыг хэрэглээрэй. • Шүүгчидтэй холбогдохын тулд “Submit a Comment or Question” холбоосыг хэрэглээрэй. • Сүүлийн үеийн мэдээ мэдээлэлтэй танилцахын тулд зүүн баганад байрлах “NEWS”-г үзээрэй. Орчуулсан Б.Даваабаяр 2010-02-19 14:04:25 Бодлогын төрлүүд by Bataa Хал Бурч 1999 оны хаврын амралтаар судалгаа хийж үзээд програмчлалын олимпиадын нийт 16 төрлийн бодлого байгааг тогтоожээ. Үүнээс гадна бодлогуудын 80 хувь нь Олон улсын мэдээлэл зүйн олимпиадад ирдэг байна. Эдгээр төрлүүд нь: • Динамик програмчлал Dynamic Programming • Гриди Greedy • Гүйцэд хайлт Complete Search • Дүүргэлт[1] Flood Fill • Богино зам Shortest Path • Рекурсив хайлтын техникүүд Recursive Search Techniques • Хамгийн бага өртөгтэй мод Minimum Spanning Tree • Үүргэвч Knapsack • Тооцон бодох Геометр Computational Geometry • Сүлжээний урсгал Network Flow • Эйлерын зам Eulerian Path • Хоёр хэмжээст гүдгэр өнцөгт Two-Dimensional Convex Hull • Том тоонууд BigNums • Хирустик хайлт[2] Heuristic Search • Тойм хайлт Approximate Search • Төрөл бүрийн бодлогууд Add Hoc Problems Хамгийн хүнд бодлогууд бол холимог бодлого юм. Тэдгээр бодлогууд нь дээрх бодлогын төрлийн аль нэгийнх нь давталт байх буюу аль нэг төрлийн давталт дотор өөр нэг төрлийн бодлого байх жишээтэй. Хэрвээ чи эдгээр бодлогын төрлүүдийн 40%-ийг нь л бодоод сурчихвал Олон улсын мэдээлэл зүйн олимпиадаас мөнгөн медаль авна гэж баттай хэлж болох юм. 80%-ийг нь бодож сурвал алтан медальтны зэрэгт хүрлээ л гэсэн үг. Мэдээж бодлогын аль нэг төрлийг гаргууд сайн бодож сурна гэдэг бол хатуу самар. Олон улсын тавцнаа алдрын оргилд хүрэх авьяас чадвараа улам хурцлахад нь туслах зорилгоор бид олон олон бодлогуудаар хангасаар байх болно. [1]: Энэ нь товчхондоо холбоост компонентын (жишээ нь: граф, эсвэл ямар нэгэн геометр бүтэц) хэмжээг олох бодлого болно. [2]: Хайлт хийх явцдаа тухайн мөчид мэдэгдэж байгаа мэдээллийг ашиглан шийдвэр гаргана. Алгоритмын ажиллах хугацааг бага зэрэг багасгаж болох боловч эцсийн хариу зөв шийд байх нь баталгаатай биш. Зөн совинт хайлт гэж нэрлэж болох юм. Нэмж хэлэх хэдэн үгс [Н.Мэргэн] : Энэхүү жагсаалт одоогоос 10 жилийн өмнө бичигдсэн байгааг анхаарна уу. Сүүлийн жилүүдийн олимпиадуудаас харахад сурагчдын ур чадвар эрс дээшилсэн ба түүнийгээ дагаад бодлогын чанар, цар хүрээ өсөн нэмэгдэж байна. Миний зүгээс энэхүү жагсаалтанд нэмэх хэдэн зүйл байна. Үүнд:  Өгөгдлийн бүтэц : 2-тын хайлтын мод, Хийп, Интервал Мод, Сегмэнт мод, Хэш, КД мод (Дараах сурах бичгээс харж болно. Computational Geometry: Algorithms and Applications [Mark de Berg], Introduction to Algorithms [CLRS])  Тэмдэгт мөртэй ажиллах алгоритмууд: Суффикс мод, Суффикс массив, КМП алгоритм (Algorithms on Strings, Trees and Sequences [Dan Gusfield])  2SAT  Бит үйлдлүүдийг ашиглан бодогдох бодлогууд. Мөн математик сэтгэлгээ болон онолын ерөнхий ухагдахуунтай байх хэрэгтэй. Үүнд: - Комбинаторик - Графын онол (Жишээ нь: König's theorem) - Магадлал (Дискрет) - Аналитик Геометр - Матрицын тухай ерөнхий ойлголт - Тооны онол  Комбинаторик тоглоомын онол  Жишээ нь: Sprague-Grundy numbers, Nim game Санал болгох ном : Winning Ways for your Mathematical Plays [Elwyn R. Berlekamp]  Жишээ нь: Min-Max search, Alpha-Beta Search - Пруферийн цуваа (Prüfer sequence) Нэмж нэг юм хэлэхэд Динамик програмчлалын бодлогууд жил ирэх тусам хүндэрч байна. Орчуулсан Б.Даваабаяр 2010-02-19 06:01:07 www.usaco.org by Bataa Мэдээлэл зүйн олимпиадад сурагчдаа бэлтгэдэг АНУ-ын онлайн сайт дахь бодлогуудыг нийтийн хүртээл болгохоор зориг шулуудан сурагчдынхаа хамтаар орчуулж эхлээд байна. Хамтдаа бодоцгооё, орчуулан түгээе. Хүндэтгэсэн Багш : Ц.Баттогтох, Ч.Сугардорж Сурагчид : Б.Мөнхбаяр 10а, У.Наранбаяр 10а, Б.Гантүшиг 9а, Б.Жанчив 9а, Л.Баярхүү 8а. Төгсөгчид : Б.Даваабаяр Энэтхэг Бангaлор магистрын 2-р курс Б.Амар ШУТИС КТМС 1-р курс Ц.Мөнхжаргал МУИС МКС 1-р курс
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.