{"id":"cmo-1971-p10-one-way-phone-gossip","title":"Односторонние телефонные звонки и распространение всей информации, CMO 1971 P10","path":"data\\problems\\cmo\\cmo-1971-p10-one-way-phone-gossip.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-1971-p10-one-way-phone-gossip.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-1971-p10-one-way-phone-gossip","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 1971 официальные условия","AoPS Wiki, 1971 Canadian MO Problems/Problem 10"],"year":"1971","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["connectivity","extremal_choice","goal_construction","goal_algorithm","goal_exact_bound","process_invariant"],"agent_topics":[],"difficulty":{"main":"national_final_medium","local_score":7,"comment":"CMO 1971 P10; точная граница получается из конструкции «собрать и разослать» и нижней оценки по первому человеку, который узнал все факты.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"unofficial_published","status":"ai_checked","confidence":0.78,"basis":"неофициальный опубликованный источник или маркер опубликованного решения","notes":"Решение опубликовано не в официальном архиве; источник надо отличать от официального.","label":"опубликованное неофициальное"},"statements":{"original":[{"id":"stmt-original","title":"Официальное условие","status":"ai_checked","text":"Пусть каждый из \\(n\\) человек знает ровно один факт, причем все \\(n\\) фактов различны. Каждый раз, когда человек \\(A\\) звонит человеку \\(B\\), \\(A\\) сообщает \\(B\\) все, что знает сам, а \\(B\\) ничего не сообщает \\(A\\). Каково минимальное число телефонных звонков между парами людей, необходимое для того, чтобы каждый знал все факты? Докажите, что найденное число минимально.","definition_ids":[]}],"graph_hint_reformulations":[{"id":"stmt-hint-gather-broadcast","title":"Подсказочная формулировка через две фазы","status":"ai_checked","text":"В той же модели направленных передач найдите минимальное число ходов, если сначала все жетоны должны попасть хотя бы в одну вершину, а затем из уже все знающей вершины информация должна дойти до всех остальных. Обоснуйте, почему до первого момента, когда какая-то вершина знает все жетоны, необходимо не меньше \\(n-1\\) передач, и почему после этого всем остальным вершинам нужно получить хотя бы по одной новой передаче.","definition_ids":["directed_graph"]}]},"solutions":[{"id":"sol-gather-and-broadcast","title":"Сбор всей информации и обратная рассылка","status":"ai_checked","definition_ids":["directed_graph"],"standard_idea_ids":["extremal_choice"],"tags":[],"has_text":true,"text_preview":"Ответ: \\(2n-2\\) звонков. Сначала покажем, что столько звонков достаточно. Обозначим людей через \\(P_1,\\ldots,P_n\\). Пусть сначала идут звонки \\(P_1\\to P_2\\), \\(P_2\\to P_3\\), ..., \\(P_{n-1}\\to P_n\\). После этих \\(n-1\\) звонков человек \\(P_n\\) знает все \\(n\\) фактов: каждый следующий человек получает всю уже накопленную информацию. Теперь передадим эту полную информацию обратно: \\(P_n\\to P_{n-1}\\), \\(P_{n-1}\\to P_{n-2}\\), ..., \\(P_2\\to P_1\\). Каждый звонящий на этом этапе уже знает все факты, поэтому после ещё \\(n-1\\) звонков все люди знают всё. Всего получилось \\(2n-2\\) звонков. Докажем минимальность. При \\(n=1\\) всё уже известно единственному человеку, и формула даёт \\(0\\). Пусть теперь \\(n\\ge2\\). Рассмотрим первый момент, когда какой-то человек впервые узнал все \\(n\\) фактов; назовём его \\(X\\). До этого момента каждый исходный факт должен был каким-то образом дойти до \\(X\\). Если смотр…"}],"relations":[{"id":"rel-cmo-1971-p10-cmo-2023-p2-spreading-process-count","neighbor_id":"cmo-2023-p2-three-regular-bootstrap-friendship","direction":"forward","type":"same_motif","distance":3,"status":"needs_human_review"},{"id":"rel-cmo-1971-p10-cmo-2025-p1-directed-dynamics","neighbor_id":"cmo-2025-p1-voting-functional-graph","direction":"forward","type":"same_motif","distance":3,"status":"needs_human_review"},{"id":"rel-cmo-1971-p10-apmo-2005-p4-spread-frontier","neighbor_id":"apmo-2005-p4-firefighters-grid-spread","direction":"forward","type":"same_motif","distance":3,"status":"needs_human_review"},{"id":"rel-cmo-1971-p10-imo-2016-c6-dynamic-graph","neighbor_id":"imo-2016-c6-ferry-graph-dynamics","direction":"forward","type":"same_motif","distance":3,"status":"needs_human_review"}],"search_text":"cmo-1971-p10-one-way-phone-gossip односторонние телефонные звонки и распространение всей информации, cmo 1971 p10 connectivity extremal_choice goal_construction goal_algorithm goal_exact_bound process_invariant 1971 aops wiki, 1971 canadian mo problems/problem 10 canadian mathematical olympiad 1971 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo1971 community_solution https://artofproblemsolving.com/wiki/index.php/1971_canadian_mo_problems/problem_10 https://w7.cms.math.ca/competitions/cmo/archive/exam1971.pdf src-aops-cmo-1971-p10 src-cmo-1971-official statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 1971 официальные условия aops wiki, 1971 canadian mo problems/problem 10 stmt-original официальное условие ai_checked пусть каждый из \\(n\\) человек знает ровно один факт, причем все \\(n\\) фактов различны. каждый раз, когда человек \\(a\\) звонит человеку \\(b\\), \\(a\\) сообщает \\(b\\) все, что знает сам, а \\(b\\) ничего не сообщает \\(a\\). каково минимальное число телефонных звонков между парами людей, необходимое для того, чтобы каждый знал все факты? докажите, что найденное число минимально. stmt-hint-gather-broadcast подсказочная формулировка через две фазы ai_checked в той же модели направленных передач найдите минимальное число ходов, если сначала все жетоны должны попасть хотя бы в одну вершину, а затем из уже все знающей вершины информация должна дойти до всех остальных. обоснуйте, почему до первого момента, когда какая-то вершина знает все жетоны, необходимо не меньше \\(n-1\\) передач, и почему после этого всем остальным вершинам нужно получить хотя бы по одной новой передаче. directed_graph idea-answer-two-n-minus-two ответ \\(2n-2\\) все факты можно собрать у одного человека за \\(n-1\\) звонков, например последовательно передавая накопленную информацию к выбранному центру, а затем за еще \\(n-1\\) звонков этот человек может сообщить полный набор фактов всем остальным. goal_exact_bound goal_construction ai_checked idea-first-universal-knower первый человек, который узнал все до первого момента, когда кто-то впервые знает все \\(n\\) фактов, информация каждого из остальных \\(n-1\\) людей должна по направленной цепочке дойти до него, что требует как минимум \\(n-1\\) звонков. после этого ни один другой человек еще не знал всего раньше, поэтому каждому из остальных \\(n-1\\) людей нужен хотя бы один последующий входящий звонок с полным набором фактов. goal_bound extremal_choice ai_checked sol-gather-and-broadcast сбор всей информации и обратная рассылка ai_checked directed_graph extremal_choice ответ: \\(2n-2\\) звонков. сначала покажем, что столько звонков достаточно. обозначим людей через \\(p_1,\\ldots,p_n\\). пусть сначала идут звонки \\(p_1\\to p_2\\), \\(p_2\\to p_3\\), ..., \\(p_{n-1}\\to p_n\\). после этих \\(n-1\\) звонков человек \\(p_n\\) знает все \\(n\\) фактов: каждый следующий человек получает всю уже накопленную информацию. теперь передадим эту полную информацию обратно: \\(p_n\\to p_{n-1}\\), \\(p_{n-1}\\to p_{n-2}\\), ..., \\(p_2\\to p_1\\). каждый звонящий на этом этапе уже знает все факты, поэтому после ещё \\(n-1\\) звонков все люди знают всё. всего получилось \\(2n-2\\) звонков. докажем минимальность. при \\(n=1\\) всё уже известно единственному человеку, и формула даёт \\(0\\). пусть теперь \\(n\\ge2\\). рассмотрим первый момент, когда какой-то человек впервые узнал все \\(n\\) фактов; назовём его \\(x\\). до этого момента каждый исходный факт должен был каким-то образом дойти до \\(x\\). если смотр… cmo-1971-p10-one-way-phone-gossip odnostoronnie telefonnye zvonki i rasprostranenie vsey informatsii, cmo 1971 p10 connectivity extremal_choice goal_construction goal_algorithm goal_exact_bound process_invariant 1971 aops wiki, 1971 canadian mo problems/problem 10 canadian mathematical olympiad 1971 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo1971 community_solution https://artofproblemsolving.com/wiki/index.php/1971_canadian_mo_problems/problem_10 https://w7.cms.math.ca/competitions/cmo/archive/exam1971.pdf src-aops-cmo-1971-p10 src-cmo-1971-official statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 1971 ofitsialnye usloviya aops wiki, 1971 canadian mo problems/problem 10 stmt-original ofitsialnoe uslovie ai_checked pust kazhdyy iz \\(n\\) chelovek znaet rovno odin fakt, prichem vse \\(n\\) faktov razlichny. kazhdyy raz, kogda chelovek \\(a\\) zvonit cheloveku \\(b\\), \\(a\\) soobschaet \\(b\\) vse, chto znaet sam, a \\(b\\) nichego ne soobschaet \\(a\\). kakovo minimalnoe chislo telefonnyh zvonkov mezhdu parami lyudey, neobhodimoe dlya togo, chtoby kazhdyy znal vse fakty? dokazhite, chto naydennoe chislo minimalno. stmt-hint-gather-broadcast podskazochnaya formulirovka cherez dve fazy ai_checked v toy zhe modeli napravlennyh peredach naydite minimalnoe chislo hodov, esli snachala vse zhetony dolzhny popast hotya by v odnu vershinu, a zatem iz uzhe vse znayuschey vershiny informatsiya dolzhna doyti do vseh ostalnyh. obosnuyte, pochemu do pervogo momenta, kogda kakaya-to vershina znaet vse zhetony, neobhodimo ne menshe \\(n-1\\) peredach, i pochemu posle etogo vsem ostalnym vershinam nuzhno poluchit hotya by po odnoy novoy peredache. directed_graph idea-answer-two-n-minus-two otvet \\(2n-2\\) vse fakty mozhno sobrat u odnogo cheloveka za \\(n-1\\) zvonkov, naprimer posledovatelno peredavaya nakoplennuyu informatsiyu k vybrannomu tsentru, a zatem za esche \\(n-1\\) zvonkov etot chelovek mozhet soobschit polnyy nabor faktov vsem ostalnym. goal_exact_bound goal_construction ai_checked idea-first-universal-knower pervyy chelovek, kotoryy uznal vse do pervogo momenta, kogda kto-to vpervye znaet vse \\(n\\) faktov, informatsiya kazhdogo iz ostalnyh \\(n-1\\) lyudey dolzhna po napravlennoy tsepochke doyti do nego, chto trebuet kak minimum \\(n-1\\) zvonkov. posle etogo ni odin drugoy chelovek esche ne znal vsego ranshe, poetomu kazhdomu iz ostalnyh \\(n-1\\) lyudey nuzhen hotya by odin posleduyuschiy vhodyaschiy zvonok s polnym naborom faktov. goal_bound extremal_choice ai_checked sol-gather-and-broadcast sbor vsey informatsii i obratnaya rassylka ai_checked directed_graph extremal_choice otvet: \\(2n-2\\) zvonkov. snachala pokazhem, chto stolko zvonkov dostatochno. oboznachim lyudey cherez \\(p_1,\\ldots,p_n\\). pust snachala idut zvonki \\(p_1\\to p_2\\), \\(p_2\\to p_3\\), ..., \\(p_{n-1}\\to p_n\\). posle etih \\(n-1\\) zvonkov chelovek \\(p_n\\) znaet vse \\(n\\) faktov: kazhdyy sleduyuschiy chelovek poluchaet vsyu uzhe nakoplennuyu informatsiyu. teper peredadim etu polnuyu informatsiyu obratno: \\(p_n\\to p_{n-1}\\), \\(p_{n-1}\\to p_{n-2}\\), ..., \\(p_2\\to p_1\\). kazhdyy zvonyaschiy na etom etape uzhe znaet vse fakty, poetomu posle esche \\(n-1\\) zvonkov vse lyudi znayut vse. vsego poluchilos \\(2n-2\\) zvonkov. dokazhem minimalnost. pri \\(n=1\\) vse uzhe izvestno edinstvennomu cheloveku, i formula daet \\(0\\). pust teper \\(n\\ge2\\). rassmotrim pervyy moment, kogda kakoy-to chelovek vpervye uznal vse \\(n\\) faktov; nazovem ego \\(x\\). do etogo momenta kazhdyy ishodnyy fakt dolzhen byl kakim-to obrazom doyti do \\(x\\). esli smotr…","source_keys":["cmo"]}
{"id":"cmo-1973-p4-triangulated-nonagon-labelings","title":"Совершенные паросочетания в графе инцидентности треугольников, CMO 1973 P4","path":"data\\problems\\cmo\\cmo-1973-p4-triangulated-nonagon-labelings.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-1973-p4-triangulated-nonagon-labelings.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-1973-p4-triangulated-nonagon-labelings","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 1973 официальные условия"],"year":"1973","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["matching","goal_counting"],"agent_topics":[],"difficulty":{"main":"national_final_easy","local_score":4,"comment":"CMO 1973 P4 сводится к небольшому подсчету паросочетаний инцидентности; после двудольной переформулировки паросочетание находится вынужденными выборами степени один.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"ai_original","status":"ai_checked","confidence":0.7,"basis":"официальный или опубликованный источник решения не обнаружен","notes":"Решение выглядит как восстановленное/написанное ИИ с нуля; желательно выборочно перепроверять математически.","label":"ИИ-решение с нуля"},"statements":{"original":[{"id":"stmt-original","title":"Официальное условие","status":"ai_checked","text":"Выпуклый многоугольник имеет девять вершин \\(P_0,P_1,\\ldots,P_8\\) в циклическом порядке. Шесть диагоналей разбивают его на семь треугольников \\(P_0P_1P_3\\), \\(P_0P_3P_6\\), \\(P_0P_6P_7\\), \\(P_0P_7P_8\\), \\(P_1P_2P_3\\), \\(P_3P_4P_6\\) и \\(P_4P_5P_6\\). Сколькими способами можно присвоить этим треугольникам названия \\(\\Delta_1,\\Delta_2,\\ldots,\\Delta_7\\) так, чтобы \\(P_i\\) была вершиной треугольника \\(\\Delta_i\\) при \\(i=1,2,\\ldots,7\\)? Обоснуйте ответ.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Совершенные паросочетания в графе инцидентности","status":"ai_checked","text":"Пусть левая доля двудольного графа состоит из семи меток \\(1,2,\\ldots,7\\), а правая доля - из семи треугольников \\(013,036,067,078,123,346,456\\). Соединим метку \\(i\\) с треугольником тогда и только тогда, когда вершина \\(P_i\\) принадлежит этому треугольнику. Найдите число совершенных паросочетаний в этом двудольном графе.","definition_ids":["bipartite_graph","matching"]}],"graph_hint_reformulations":[{"id":"stmt-graph-forced-neighbors","title":"Взгляд через вынужденных соседей в паросочетании","status":"ai_checked","text":"В двудольном графе меток и настоящих треугольников сначала отметим метки степени один: метка \\(2\\) смежна только с треугольником \\(123\\), а метка \\(5\\) - только с треугольником \\(456\\). После удаления этих вынужденных пар продолжайте удалять вынужденные пары метка-треугольник. Определите, сколько совершенных паросочетаний останется.","definition_ids":["bipartite_graph","matching"]}]},"solutions":[{"id":"sol-forced-matching","title":"Вынужденные выборы в графе инцидентности","status":"ai_checked","definition_ids":["bipartite_graph","matching"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Запишем семь настоящих треугольников как \\(013,036,067,078,123,346,456\\). Разметка допустима тогда и только тогда, когда каждая метка \\(i\\) присвоена отдельному треугольнику, содержащему вершину \\(P_i\\). Поэтому нужно лишь посчитать совершенные паросочетания в этой таблице инцидентности. Метку \\(2\\) можно поставить только на треугольник \\(123\\), значит \\(\\Delta_2=123\\). Точно так же метку \\(5\\) можно поставить только на треугольник \\(456\\), значит \\(\\Delta_5=456\\). После удаления этих двух треугольников метка \\(1\\) уже не может использовать \\(123\\) и вынужденно идет на \\(013\\). Метка \\(4\\) уже не может использовать \\(456\\) и вынужденно идет на \\(346\\). Оставшиеся неразмеченные треугольники - \\(036,067,078\\), а оставшиеся метки - \\(3,6,7\\). Теперь метка \\(3\\) среди оставшихся треугольников может использовать только \\(036\\); затем метка \\(6\\) вынужденно идет на \\(067\\), а метка \\(7\\) - на…"}],"relations":[{"id":"rel-cmo-1973-p4-hall-marriage-incidence-matching","neighbor_id":"hall-marriage-theorem","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2004-p2-cmo-1973-p4-bipartite-matching-count","neighbor_id":"cmo-2004-p2-rooks-same-colour","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-imc-2006-triangulation-cmo-1973","neighbor_id":"imc-2006-day2-p1-polygon-triangulation-parity","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"}],"search_text":"cmo-1973-p4-triangulated-nonagon-labelings совершенные паросочетания в графе инцидентности треугольников, cmo 1973 p4 matching goal_counting 1973 canadian mathematical olympiad 1973 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo1973 https://w7.cms.math.ca/competitions/cmo/archive/exam1973.pdf src-cmo-1973-official statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 1973 официальные условия stmt-original официальное условие ai_checked выпуклый многоугольник имеет девять вершин \\(p_0,p_1,\\ldots,p_8\\) в циклическом порядке. шесть диагоналей разбивают его на семь треугольников \\(p_0p_1p_3\\), \\(p_0p_3p_6\\), \\(p_0p_6p_7\\), \\(p_0p_7p_8\\), \\(p_1p_2p_3\\), \\(p_3p_4p_6\\) и \\(p_4p_5p_6\\). сколькими способами можно присвоить этим треугольникам названия \\(\\delta_1,\\delta_2,\\ldots,\\delta_7\\) так, чтобы \\(p_i\\) была вершиной треугольника \\(\\delta_i\\) при \\(i=1,2,\\ldots,7\\)? обоснуйте ответ. stmt-graph совершенные паросочетания в графе инцидентности ai_checked пусть левая доля двудольного графа состоит из семи меток \\(1,2,\\ldots,7\\), а правая доля - из семи треугольников \\(013,036,067,078,123,346,456\\). соединим метку \\(i\\) с треугольником тогда и только тогда, когда вершина \\(p_i\\) принадлежит этому треугольнику. найдите число совершенных паросочетаний в этом двудольном графе. bipartite_graph matching stmt-graph-forced-neighbors взгляд через вынужденных соседей в паросочетании ai_checked в двудольном графе меток и настоящих треугольников сначала отметим метки степени один: метка \\(2\\) смежна только с треугольником \\(123\\), а метка \\(5\\) - только с треугольником \\(456\\). после удаления этих вынужденных пар продолжайте удалять вынужденные пары метка-треугольник. определите, сколько совершенных паросочетаний останется. bipartite_graph matching idea-incidence-matching метки как задача о паросочетании допустимая разметка - это ровно совершенное паросочетание между семью названиями \\(\\delta_i\\) и семью настоящими треугольниками, где допустимость задается инцидентностью вершины и треугольника. matching goal_counting ai_checked idea-forced-leaves последовательно снимайте вынужденные метки некоторые метки можно поставить только на один из оставшихся треугольников. каждый такой выбор степени один вынужден, а после его удаления появляются новые вынужденные выборы. matching goal_counting ai_checked sol-forced-matching вынужденные выборы в графе инцидентности ai_checked bipartite_graph matching запишем семь настоящих треугольников как \\(013,036,067,078,123,346,456\\). разметка допустима тогда и только тогда, когда каждая метка \\(i\\) присвоена отдельному треугольнику, содержащему вершину \\(p_i\\). поэтому нужно лишь посчитать совершенные паросочетания в этой таблице инцидентности. метку \\(2\\) можно поставить только на треугольник \\(123\\), значит \\(\\delta_2=123\\). точно так же метку \\(5\\) можно поставить только на треугольник \\(456\\), значит \\(\\delta_5=456\\). после удаления этих двух треугольников метка \\(1\\) уже не может использовать \\(123\\) и вынужденно идет на \\(013\\). метка \\(4\\) уже не может использовать \\(456\\) и вынужденно идет на \\(346\\). оставшиеся неразмеченные треугольники - \\(036,067,078\\), а оставшиеся метки - \\(3,6,7\\). теперь метка \\(3\\) среди оставшихся треугольников может использовать только \\(036\\); затем метка \\(6\\) вынужденно идет на \\(067\\), а метка \\(7\\) - на… cmo-1973-p4-triangulated-nonagon-labelings sovershennye parosochetaniya v grafe intsidentnosti treugolnikov, cmo 1973 p4 matching goal_counting 1973 canadian mathematical olympiad 1973 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo1973 https://w7.cms.math.ca/competitions/cmo/archive/exam1973.pdf src-cmo-1973-official statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 1973 ofitsialnye usloviya stmt-original ofitsialnoe uslovie ai_checked vypuklyy mnogougolnik imeet devyat vershin \\(p_0,p_1,\\ldots,p_8\\) v tsiklicheskom poryadke. shest diagonaley razbivayut ego na sem treugolnikov \\(p_0p_1p_3\\), \\(p_0p_3p_6\\), \\(p_0p_6p_7\\), \\(p_0p_7p_8\\), \\(p_1p_2p_3\\), \\(p_3p_4p_6\\) i \\(p_4p_5p_6\\). skolkimi sposobami mozhno prisvoit etim treugolnikam nazvaniya \\(\\delta_1,\\delta_2,\\ldots,\\delta_7\\) tak, chtoby \\(p_i\\) byla vershinoy treugolnika \\(\\delta_i\\) pri \\(i=1,2,\\ldots,7\\)? obosnuyte otvet. stmt-graph sovershennye parosochetaniya v grafe intsidentnosti ai_checked pust levaya dolya dvudolnogo grafa sostoit iz semi metok \\(1,2,\\ldots,7\\), a pravaya dolya - iz semi treugolnikov \\(013,036,067,078,123,346,456\\). soedinim metku \\(i\\) s treugolnikom togda i tolko togda, kogda vershina \\(p_i\\) prinadlezhit etomu treugolniku. naydite chislo sovershennyh parosochetaniy v etom dvudolnom grafe. bipartite_graph matching stmt-graph-forced-neighbors vzglyad cherez vynuzhdennyh sosedey v parosochetanii ai_checked v dvudolnom grafe metok i nastoyaschih treugolnikov snachala otmetim metki stepeni odin: metka \\(2\\) smezhna tolko s treugolnikom \\(123\\), a metka \\(5\\) - tolko s treugolnikom \\(456\\). posle udaleniya etih vynuzhdennyh par prodolzhayte udalyat vynuzhdennye pary metka-treugolnik. opredelite, skolko sovershennyh parosochetaniy ostanetsya. bipartite_graph matching idea-incidence-matching metki kak zadacha o parosochetanii dopustimaya razmetka - eto rovno sovershennoe parosochetanie mezhdu semyu nazvaniyami \\(\\delta_i\\) i semyu nastoyaschimi treugolnikami, gde dopustimost zadaetsya intsidentnostyu vershiny i treugolnika. matching goal_counting ai_checked idea-forced-leaves posledovatelno snimayte vynuzhdennye metki nekotorye metki mozhno postavit tolko na odin iz ostavshihsya treugolnikov. kazhdyy takoy vybor stepeni odin vynuzhden, a posle ego udaleniya poyavlyayutsya novye vynuzhdennye vybory. matching goal_counting ai_checked sol-forced-matching vynuzhdennye vybory v grafe intsidentnosti ai_checked bipartite_graph matching zapishem sem nastoyaschih treugolnikov kak \\(013,036,067,078,123,346,456\\). razmetka dopustima togda i tolko togda, kogda kazhdaya metka \\(i\\) prisvoena otdelnomu treugolniku, soderzhaschemu vershinu \\(p_i\\). poetomu nuzhno lish poschitat sovershennye parosochetaniya v etoy tablitse intsidentnosti. metku \\(2\\) mozhno postavit tolko na treugolnik \\(123\\), znachit \\(\\delta_2=123\\). tochno tak zhe metku \\(5\\) mozhno postavit tolko na treugolnik \\(456\\), znachit \\(\\delta_5=456\\). posle udaleniya etih dvuh treugolnikov metka \\(1\\) uzhe ne mozhet ispolzovat \\(123\\) i vynuzhdenno idet na \\(013\\). metka \\(4\\) uzhe ne mozhet ispolzovat \\(456\\) i vynuzhdenno idet na \\(346\\). ostavshiesya nerazmechennye treugolniki - \\(036,067,078\\), a ostavshiesya metki - \\(3,6,7\\). teper metka \\(3\\) sredi ostavshihsya treugolnikov mozhet ispolzovat tolko \\(036\\); zatem metka \\(6\\) vynuzhdenno idet na \\(067\\), a metka \\(7\\) - na…","source_keys":["cmo"]}
{"id":"cmo-1976-p8-red-blue-k9-clique","title":"Красная \\(K_4\\) без синего треугольника в \\(K_9\\), CMO 1976 P8","path":"data\\problems\\cmo\\cmo-1976-p8-red-blue-k9-clique.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-1976-p8-red-blue-k9-clique.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-1976-p8-red-blue-k9-clique","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 1976 официальные условия","School Exercise Books blog, 8th Canadian Mathematical Olympiad 1976","Cut-the-Knot, Ramsey Number R(4,3)"],"year":"1976","type":"olympiad_problem","authors":[],"tags":["ramsey_theory","coloring","forbidden_triangle","forbidden_clique","goal_proof"],"agent_topics":[],"difficulty":{"main":"national_final_medium","local_score":9,"comment":"CMO 1976 P8; компактная, но нетривиальная малая задача Рамсея, соответствующая оценке \\(R(3,4)\\le 9\\).","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"unofficial_published","status":"ai_checked","confidence":0.78,"basis":"неофициальный опубликованный источник или маркер опубликованного решения","notes":"Решение опубликовано не в официальном архиве; источник надо отличать от официального.","label":"опубликованное неофициальное"},"statements":{"original":[{"id":"stmt-original","title":"Официальная формулировка","status":"ai_checked","text":"Каждый из 36 отрезков, соединяющих две различные точки из девяти точек на окружности, окрашен либо в красный, либо в синий цвет. Предположим, что каждый треугольник, определяемый тремя из этих девяти точек, содержит хотя бы одну красную сторону. Докажите, что найдутся четыре точки, у которых все 6 соединяющих их отрезков красные.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Красная клика в раскраске \\(K_9\\)","status":"ai_checked","text":"В полной красно-синей раскраске ребер графа \\(K_9\\) нет синего треугольника. Докажите, что существует красная клика \\(K_4\\).","definition_ids":["complete_graph","clique","triangle"]}],"graph_hint_reformulations":[{"id":"stmt-blue-complement","title":"Комплементарная графовая форма","status":"ai_checked","text":"Пусть \\(G\\) - простой граф на 9 вершинах, в котором нет треугольника. Докажите, что в дополнении графа \\(G\\) есть клика \\(K_4\\); эквивалентно, в самом \\(G\\) есть независимое множество из 4 вершин.","definition_ids":["simple_graph","complement_graph","clique","independent_set","complete_graph","triangle"]}]},"solutions":[{"id":"sol-ramsey-r34-upper-bound","title":"Доказательство как \\(R(3,4)\\le 9\\)","status":"ai_checked","definition_ids":["complete_graph","clique","simple_graph","independent_set"],"standard_idea_ids":["pigeonhole_principle","complement_graph_transition"],"tags":[],"has_text":true,"text_preview":"Рассмотрим граф \\(G\\) на девяти вершинах, где вершины соответствуют данным точкам, а рёбра графа \\(G\\) — это синие отрезки. По условию каждый треугольник из трёх точек содержит красную сторону, значит в графе \\(G\\) нет синего треугольника, то есть \\(G\\) треугольник-свободен. Нужно доказать, что найдутся четыре вершины, между которыми нет синих рёбер; тогда все шесть отрезков между ними красные. Если у некоторой вершины \\(v\\) в графе \\(G\\) есть хотя бы четыре синих соседа, выберем четыре таких соседа. Между двумя из них не может быть синего ребра, иначе вместе с \\(v\\) получился бы синий треугольник. Поэтому эти четыре вершины попарно соединены не синими, а красными рёбрами. Это и есть требуемая красная четвёрка. Остаётся случай, когда степень каждой вершины в синем графе не превосходит 3. Сумма всех степеней графа чётна. Если бы все девять степеней были равны 3, сумма была бы 27, что нев…"}],"relations":[{"id":"rel-ramsey-r34-cmo-1976-p8","neighbor_id":"ramsey-r34","direction":"backward","type":"solution_transfer","distance":1,"status":"ai_checked"},{"id":"rel-ramsey-theorem-cmo-1976-p8","neighbor_id":"ramsey-theorem","direction":"backward","type":"specialization","distance":1,"status":"ai_checked"},{"id":"rel-ramsey-r33-cmo-1976-p8","neighbor_id":"ramsey-r33","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"}],"search_text":"cmo-1976-p8-red-blue-k9-clique красная \\(k_4\\) без синего треугольника в \\(k_9\\), cmo 1976 p8 ramsey_theory coloring forbidden_triangle forbidden_clique goal_proof 1976 canadian mathematical olympiad 1976 официальные условия cmo cmo1976 community_hint cut-the-knot, ramsey number r(4,3) https://cut-the-knot.org/arithmetic/combinatorics/ramsey43.shtml https://schoolexercisebooks.blogspot.com/2010/09/8th-canadian-mathematical-olympiad.html https://w7.cms.math.ca/competitions/cmo/archive/exam1976.pdf school exercise books blog, 8th canadian mathematical olympiad 1976 src-cmo-1976-official src-cut-the-knot-ramsey-r43 src-school-exercise-books-cmo-1976-p8 standard_reference statement with_solution ? canadian mathematical olympiad 1976 официальные условия school exercise books blog, 8th canadian mathematical olympiad 1976 cut-the-knot, ramsey number r(4,3) stmt-original официальная формулировка ai_checked каждый из 36 отрезков, соединяющих две различные точки из девяти точек на окружности, окрашен либо в красный, либо в синий цвет. предположим, что каждый треугольник, определяемый тремя из этих девяти точек, содержит хотя бы одну красную сторону. докажите, что найдутся четыре точки, у которых все 6 соединяющих их отрезков красные. stmt-graph красная клика в раскраске \\(k_9\\) ai_checked в полной красно-синей раскраске ребер графа \\(k_9\\) нет синего треугольника. докажите, что существует красная клика \\(k_4\\). complete_graph clique triangle stmt-blue-complement комплементарная графовая форма ai_checked пусть \\(g\\) - простой граф на 9 вершинах, в котором нет треугольника. докажите, что в дополнении графа \\(g\\) есть клика \\(k_4\\); эквивалентно, в самом \\(g\\) есть независимое множество из 4 вершин. simple_graph complement_graph clique independent_set complete_graph triangle idea-ramsey-r34 малая теорема рамсея содержательно задача является верхней оценкой \\(r(3,4)\\le 9\\): отсутствие синего треугольника должно вынудить красную клику из четырех вершин. ramsey_theory forbidden_triangle forbidden_clique ai_checked idea-complement-graph синие ребра как треугольник-свободный граф если рассматривать только синие ребра, условие становится запретом треугольников, а требуемая красная четверка становится независимым множеством размера 4 в этом синем графе. ramsey_theory forbidden_triangle ai_checked sol-ramsey-r34-upper-bound доказательство как \\(r(3,4)\\le 9\\) ai_checked complete_graph clique simple_graph independent_set pigeonhole_principle complement_graph_transition рассмотрим граф \\(g\\) на девяти вершинах, где вершины соответствуют данным точкам, а рёбра графа \\(g\\) — это синие отрезки. по условию каждый треугольник из трёх точек содержит красную сторону, значит в графе \\(g\\) нет синего треугольника, то есть \\(g\\) треугольник-свободен. нужно доказать, что найдутся четыре вершины, между которыми нет синих рёбер; тогда все шесть отрезков между ними красные. если у некоторой вершины \\(v\\) в графе \\(g\\) есть хотя бы четыре синих соседа, выберем четыре таких соседа. между двумя из них не может быть синего ребра, иначе вместе с \\(v\\) получился бы синий треугольник. поэтому эти четыре вершины попарно соединены не синими, а красными рёбрами. это и есть требуемая красная четвёрка. остаётся случай, когда степень каждой вершины в синем графе не превосходит 3. сумма всех степеней графа чётна. если бы все девять степеней были равны 3, сумма была бы 27, что нев… cmo-1976-p8-red-blue-k9-clique krasnaya \\(k_4\\) bez sinego treugolnika v \\(k_9\\), cmo 1976 p8 ramsey_theory coloring forbidden_triangle forbidden_clique goal_proof 1976 canadian mathematical olympiad 1976 ofitsialnye usloviya cmo cmo1976 community_hint cut-the-knot, ramsey number r(4,3) https://cut-the-knot.org/arithmetic/combinatorics/ramsey43.shtml https://schoolexercisebooks.blogspot.com/2010/09/8th-canadian-mathematical-olympiad.html https://w7.cms.math.ca/competitions/cmo/archive/exam1976.pdf school exercise books blog, 8th canadian mathematical olympiad 1976 src-cmo-1976-official src-cut-the-knot-ramsey-r43 src-school-exercise-books-cmo-1976-p8 standard_reference statement with_solution ? canadian mathematical olympiad 1976 ofitsialnye usloviya school exercise books blog, 8th canadian mathematical olympiad 1976 cut-the-knot, ramsey number r(4,3) stmt-original ofitsialnaya formulirovka ai_checked kazhdyy iz 36 otrezkov, soedinyayuschih dve razlichnye tochki iz devyati tochek na okruzhnosti, okrashen libo v krasnyy, libo v siniy tsvet. predpolozhim, chto kazhdyy treugolnik, opredelyaemyy tremya iz etih devyati tochek, soderzhit hotya by odnu krasnuyu storonu. dokazhite, chto naydutsya chetyre tochki, u kotoryh vse 6 soedinyayuschih ih otrezkov krasnye. stmt-graph krasnaya klika v raskraske \\(k_9\\) ai_checked v polnoy krasno-siney raskraske reber grafa \\(k_9\\) net sinego treugolnika. dokazhite, chto suschestvuet krasnaya klika \\(k_4\\). complete_graph clique triangle stmt-blue-complement komplementarnaya grafovaya forma ai_checked pust \\(g\\) - prostoy graf na 9 vershinah, v kotorom net treugolnika. dokazhite, chto v dopolnenii grafa \\(g\\) est klika \\(k_4\\); ekvivalentno, v samom \\(g\\) est nezavisimoe mnozhestvo iz 4 vershin. simple_graph complement_graph clique independent_set complete_graph triangle idea-ramsey-r34 malaya teorema ramseya soderzhatelno zadacha yavlyaetsya verhney otsenkoy \\(r(3,4)\\le 9\\): otsutstvie sinego treugolnika dolzhno vynudit krasnuyu kliku iz chetyreh vershin. ramsey_theory forbidden_triangle forbidden_clique ai_checked idea-complement-graph sinie rebra kak treugolnik-svobodnyy graf esli rassmatrivat tolko sinie rebra, uslovie stanovitsya zapretom treugolnikov, a trebuemaya krasnaya chetverka stanovitsya nezavisimym mnozhestvom razmera 4 v etom sinem grafe. ramsey_theory forbidden_triangle ai_checked sol-ramsey-r34-upper-bound dokazatelstvo kak \\(r(3,4)\\le 9\\) ai_checked complete_graph clique simple_graph independent_set pigeonhole_principle complement_graph_transition rassmotrim graf \\(g\\) na devyati vershinah, gde vershiny sootvetstvuyut dannym tochkam, a rebra grafa \\(g\\) — eto sinie otrezki. po usloviyu kazhdyy treugolnik iz treh tochek soderzhit krasnuyu storonu, znachit v grafe \\(g\\) net sinego treugolnika, to est \\(g\\) treugolnik-svoboden. nuzhno dokazat, chto naydutsya chetyre vershiny, mezhdu kotorymi net sinih reber; togda vse shest otrezkov mezhdu nimi krasnye. esli u nekotoroy vershiny \\(v\\) v grafe \\(g\\) est hotya by chetyre sinih soseda, vyberem chetyre takih soseda. mezhdu dvumya iz nih ne mozhet byt sinego rebra, inache vmeste s \\(v\\) poluchilsya by siniy treugolnik. poetomu eti chetyre vershiny poparno soedineny ne sinimi, a krasnymi rebrami. eto i est trebuemaya krasnaya chetverka. ostaetsya sluchay, kogda stepen kazhdoy vershiny v sinem grafe ne prevoshodit 3. summa vseh stepeney grafa chetna. esli by vse devyat stepeney byli ravny 3, summa byla by 27, chto nev…","source_keys":["cmo"]}
{"id":"cmo-1977-p7-rectangular-city-self-avoiding-paths","title":"Простые пути в прямоугольной решётке, CMO 1977 P7","path":"data\\problems\\cmo\\cmo-1977-p7-rectangular-city-self-avoiding-paths.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-1977-p7-rectangular-city-self-avoiding-paths.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-1977-p7-rectangular-city-self-avoiding-paths","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 1977 официальные условия"],"year":"1977","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["planar_graphs","connectivity","goal_counting","goal_bound"],"agent_topics":[],"difficulty":{"main":"national_final_hard","local_score":10,"comment":"CMO 1977 P7; оценка числа самоизбегающихся путей на прямоугольной решетке через инъекцию в подмножества клеток.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"ai_original","status":"ai_checked","confidence":0.7,"basis":"официальный или опубликованный источник решения не обнаружен","notes":"Решение выглядит как восстановленное/написанное ИИ с нуля; желательно выборочно перепроверять математически.","label":"ИИ-решение с нуля"},"statements":{"original":[{"id":"stmt-original","title":"Условие","status":"ai_checked","text":"Прямоугольный город имеет ровно \\(m\\) кварталов в длину и \\(n\\) кварталов в ширину. Женщина живет в юго-западном углу города и работает в северо-восточном углу. Каждый день она идет на работу так, что за один путь не проходит ни через один перекресток дважды. Пусть \\(f(m,n)\\) - число различных путей, которыми она может дойти до работы. Докажите, что \\(f(m,n)\\le 2^{mn}\\).","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Простые пути в прямоугольной решётке","status":"ai_checked","text":"В прямоугольном решеточном графе с вершинами \\((i,j)\\), где \\(0\\le i\\le m\\), \\(0\\le j\\le n\\), и ребрами между вершинами на расстоянии 1 по Манхэттену, пусть \\(f(m,n)\\) - число простых путей из \\((0,0)\\) в \\((m,n)\\). Докажите, что \\(f(m,n)\\le 2^{mn}\\).","definition_ids":["path"]}]},"solutions":[{"id":"sol-left-cells-injection","title":"Инъекция в множества кварталов","status":"ai_checked","definition_ids":["path"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Рассмотрим любой допустимый путь \\(P\\) и будем идти по нему от юго-западного угла к северо-восточному. Для каждого ребра пути отметим квартал, который лежит непосредственно слева от этого направленного ребра; если ребро идет по границе города и слева от него квартала нет, ничего не отмечаем. Так каждому пути сопоставляется некоторое множество \\(S(P)\\) из \\(mn\\) кварталов. Докажем, что это сопоставление инъективно. Удобно считать кварталы единичными квадратами, а путь - ломаной по их сторонам. Так как путь не проходит через один и тот же перекресток дважды, он не имеет самопересечений. После небольшого скругления в окрестностях перекрестков это простая дуга от юго-западного угла прямоугольника к северо-восточному. Идя по этой дуге, мы ровно записываем, какие клетки находятся с ее левой стороны вдоль каждого участка. Теперь пусть известно только множество \\(S=S(P)\\). Рассмотрим все сторон…"}],"relations":[{"id":"rel-cmo-1977-p7-cmo-1979-p5-self-avoiding-grid-paths","neighbor_id":"cmo-1979-p5-square-lattice-self-avoiding-walks","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-1977-p7-cmo-2008-p5-self-avoiding-grid-paths","neighbor_id":"cmo-2008-p5-self-avoiding-rook-walks","direction":"forward","type":"false_friend","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2005-p1-cmo-1977-grid-path-encoding","neighbor_id":"cmo-2005-p1-triangular-grid-paths","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2025-p5-cmo-1977-rectangular-paths","neighbor_id":"cmo-2025-p5-ant-planar-graph","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2026-p3-cmo-1977-p7-grid-self-avoiding","neighbor_id":"cmo-2026-p3-grid-hamiltonian-snail","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-imo-2005-c3-cmo-1977-grid-path-injection","neighbor_id":"imo-2005-c3-black-paths-injection","direction":"backward","type":"same_motif","distance":3,"status":"ai_checked"}],"search_text":"cmo-1977-p7-rectangular-city-self-avoiding-paths простые пути в прямоугольной решётке, cmo 1977 p7 planar_graphs connectivity goal_counting goal_bound 1977 canadian mathematical olympiad 1977 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo1977 https://w7.cms.math.ca/competitions/cmo/archive/exam1977.pdf src-cmo-1977-official statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 1977 официальные условия stmt-original условие ai_checked прямоугольный город имеет ровно \\(m\\) кварталов в длину и \\(n\\) кварталов в ширину. женщина живет в юго-западном углу города и работает в северо-восточном углу. каждый день она идет на работу так, что за один путь не проходит ни через один перекресток дважды. пусть \\(f(m,n)\\) - число различных путей, которыми она может дойти до работы. докажите, что \\(f(m,n)\\le 2^{mn}\\). stmt-graph простые пути в прямоугольной решётке ai_checked в прямоугольном решеточном графе с вершинами \\((i,j)\\), где \\(0\\le i\\le m\\), \\(0\\le j\\le n\\), и ребрами между вершинами на расстоянии 1 по манхэттену, пусть \\(f(m,n)\\) - число простых путей из \\((0,0)\\) в \\((m,n)\\). докажите, что \\(f(m,n)\\le 2^{mn}\\). path idea-left-cells-encoding кодирование клетками слева от пути если ориентировать путь из юго-западного угла в северо-восточный, то каждому его ребру соответствует клетка, лежащая слева от этого ребра, если такая клетка есть. множество всех таких клеток должно однозначно задавать путь. planar_graphs goal_counting ai_checked idea-boundary-reconstruction восстановление по границе множества клеток путь восстанавливается как ориентированная часть границы отмеченного множества клеток: отмеченные клетки остаются слева, а неотмеченные клетки или внешность прямоугольника - справа. planar_graphs connectivity ai_checked sol-left-cells-injection инъекция в множества кварталов ai_checked path рассмотрим любой допустимый путь \\(p\\) и будем идти по нему от юго-западного угла к северо-восточному. для каждого ребра пути отметим квартал, который лежит непосредственно слева от этого направленного ребра; если ребро идет по границе города и слева от него квартала нет, ничего не отмечаем. так каждому пути сопоставляется некоторое множество \\(s(p)\\) из \\(mn\\) кварталов. докажем, что это сопоставление инъективно. удобно считать кварталы единичными квадратами, а путь - ломаной по их сторонам. так как путь не проходит через один и тот же перекресток дважды, он не имеет самопересечений. после небольшого скругления в окрестностях перекрестков это простая дуга от юго-западного угла прямоугольника к северо-восточному. идя по этой дуге, мы ровно записываем, какие клетки находятся с ее левой стороны вдоль каждого участка. теперь пусть известно только множество \\(s=s(p)\\). рассмотрим все сторон… cmo-1977-p7-rectangular-city-self-avoiding-paths prostye puti v pryamougolnoy reshetke, cmo 1977 p7 planar_graphs connectivity goal_counting goal_bound 1977 canadian mathematical olympiad 1977 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo1977 https://w7.cms.math.ca/competitions/cmo/archive/exam1977.pdf src-cmo-1977-official statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 1977 ofitsialnye usloviya stmt-original uslovie ai_checked pryamougolnyy gorod imeet rovno \\(m\\) kvartalov v dlinu i \\(n\\) kvartalov v shirinu. zhenschina zhivet v yugo-zapadnom uglu goroda i rabotaet v severo-vostochnom uglu. kazhdyy den ona idet na rabotu tak, chto za odin put ne prohodit ni cherez odin perekrestok dvazhdy. pust \\(f(m,n)\\) - chislo razlichnyh putey, kotorymi ona mozhet doyti do raboty. dokazhite, chto \\(f(m,n)\\le 2^{mn}\\). stmt-graph prostye puti v pryamougolnoy reshetke ai_checked v pryamougolnom reshetochnom grafe s vershinami \\((i,j)\\), gde \\(0\\le i\\le m\\), \\(0\\le j\\le n\\), i rebrami mezhdu vershinami na rasstoyanii 1 po manhettenu, pust \\(f(m,n)\\) - chislo prostyh putey iz \\((0,0)\\) v \\((m,n)\\). dokazhite, chto \\(f(m,n)\\le 2^{mn}\\). path idea-left-cells-encoding kodirovanie kletkami sleva ot puti esli orientirovat put iz yugo-zapadnogo ugla v severo-vostochnyy, to kazhdomu ego rebru sootvetstvuet kletka, lezhaschaya sleva ot etogo rebra, esli takaya kletka est. mnozhestvo vseh takih kletok dolzhno odnoznachno zadavat put. planar_graphs goal_counting ai_checked idea-boundary-reconstruction vosstanovlenie po granitse mnozhestva kletok put vosstanavlivaetsya kak orientirovannaya chast granitsy otmechennogo mnozhestva kletok: otmechennye kletki ostayutsya sleva, a neotmechennye kletki ili vneshnost pryamougolnika - sprava. planar_graphs connectivity ai_checked sol-left-cells-injection inektsiya v mnozhestva kvartalov ai_checked path rassmotrim lyuboy dopustimyy put \\(p\\) i budem idti po nemu ot yugo-zapadnogo ugla k severo-vostochnomu. dlya kazhdogo rebra puti otmetim kvartal, kotoryy lezhit neposredstvenno sleva ot etogo napravlennogo rebra; esli rebro idet po granitse goroda i sleva ot nego kvartala net, nichego ne otmechaem. tak kazhdomu puti sopostavlyaetsya nekotoroe mnozhestvo \\(s(p)\\) iz \\(mn\\) kvartalov. dokazhem, chto eto sopostavlenie inektivno. udobno schitat kvartaly edinichnymi kvadratami, a put - lomanoy po ih storonam. tak kak put ne prohodit cherez odin i tot zhe perekrestok dvazhdy, on ne imeet samoperesecheniy. posle nebolshogo skrugleniya v okrestnostyah perekrestkov eto prostaya duga ot yugo-zapadnogo ugla pryamougolnika k severo-vostochnomu. idya po etoy duge, my rovno zapisyvaem, kakie kletki nahodyatsya s ee levoy storony vdol kazhdogo uchastka. teper pust izvestno tolko mnozhestvo \\(s=s(p)\\). rassmotrim vse storon…","source_keys":["cmo"]}
{"id":"cmo-1979-p5-square-lattice-self-avoiding-walks","title":"Самоизбегающие пути в квадратной решётке, CMO 1979 P5","path":"data\\problems\\cmo\\cmo-1979-p5-square-lattice-self-avoiding-walks.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-1979-p5-square-lattice-self-avoiding-walks.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-1979-p5-square-lattice-self-avoiding-walks","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 1979 официальные условия"],"year":"1979","type":"olympiad_problem","authors":[],"tags":["connectivity","goal_counting","goal_bound"],"agent_topics":[],"difficulty":{"main":"national_final_medium","local_score":8,"comment":"CMO 1979 P5; короткая задача национального финала на перебор самоизбегающих маршрутов, с прямой верхней оценкой ветвления и нижней оценкой через монотонные маршруты.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"ai_original","status":"ai_checked","confidence":0.7,"basis":"официальный или опубликованный источник решения не обнаружен","notes":"Решение выглядит как восстановленное/написанное ИИ с нуля; желательно выборочно перепроверять математически.","label":"ИИ-решение с нуля"},"statements":{"original":[{"id":"stmt-original","title":"Официальное условие","status":"ai_checked","text":"Маршрут состоит из последовательности шагов длины 1 в направлениях на север, юг, восток или запад. Маршрут называется самоизбегающим, если он никогда не проходит через одну и ту же точку дважды. Пусть \\(f(n)\\) обозначает число \\(n\\)-шаговых самоизбегающих маршрутов, начинающихся в начале координат. Найдите \\(f(1)\\), \\(f(2)\\), \\(f(3)\\), \\(f(4)\\) и докажите, что \\(2^n<f(n)\\le 4\\cdot 3^{n-1}\\).","definition_ids":["path"]}],"graph_theory":[{"id":"stmt-graph","title":"Самоизбегающие пути в квадратной решётке","status":"ai_checked","text":"Пусть вершинами являются целочисленные точки решетки \\(\\mathbb Z^2\\), а ребра соединяют пары точек на евклидовом расстоянии 1. Пусть \\(f(n)\\) - число простых путей длины \\(n\\), начинающихся в \\((0,0)\\). Найдите \\(f(1),f(2),f(3),f(4)\\) и докажите, что \\(2^n<f(n)\\le 4\\cdot 3^{n-1}\\).","definition_ids":["path"]}],"graph_hint_reformulations":[{"id":"stmt-graph-hint-branching","title":"Ветвление и монотонное подсемейство путей","status":"ai_checked","text":"В графе квадратной решетки посчитайте простые пути из \\((0,0)\\). Для верхней оценки раскрывайте путь по одной вершине: первый шаг имеет 4 варианта, а затем путь не может сразу вернуться в предыдущую вершину, поэтому на каждом шаге есть не более 3 вариантов. Для нижней оценки сравните с монотонными путями, использующими только шаги на север и восток.","definition_ids":["path"]}]},"solutions":[{"id":"sol-enumeration-and-branching","title":"Перебор и оценки ветвления","status":"ai_checked","definition_ids":["path"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Для одного, двух и трех шагов после первого шага есть соответственно ноль, один или два дальнейших выбора, каждый с 3 доступными направлениями без немедленного возврата, и до шага 4 никакое другое повторение невозможно. Поэтому \\(f(1)=4\\), \\(f(2)=4\\cdot3=12\\) и \\(f(3)=4\\cdot3^2=36\\). Для четырех шагов начнем с тех же \\(4\\cdot3^3=108\\) маршрутов без немедленного возврата. Повторение может быть только возвращением в начало координат на четвертом шаге; это происходит ровно тогда, когда первые три шага идут по трем сторонам единичного квадрата. Есть 4 варианта первого шага и 2 варианта направления обхода квадрата, значит таких маршрутов 8. Следовательно, \\(f(4)=108-8=100\\). Для каждого \\(n\\ge1\\) первый шаг имеет 4 варианта, а каждый последующий шаг имеет не более 3 вариантов, потому что путь не может сразу вернуться в предыдущую точку решетки, поэтому \\(f(n)\\le4\\cdot3^{n-1}\\). Кроме того, в…"}],"relations":[{"id":"rel-cmo-1977-p7-cmo-1979-p5-self-avoiding-grid-paths","neighbor_id":"cmo-1977-p7-rectangular-city-self-avoiding-paths","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-1979-p5-cmo-2008-p5-self-avoiding-grid-walks","neighbor_id":"cmo-2008-p5-self-avoiding-rook-walks","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2005-p1-cmo-1979-self-avoiding-path-counting","neighbor_id":"cmo-2005-p1-triangular-grid-paths","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"}],"search_text":"cmo-1979-p5-square-lattice-self-avoiding-walks самоизбегающие пути в квадратной решётке, cmo 1979 p5 connectivity goal_counting goal_bound 1979 canadian mathematical olympiad 1979 официальные условия cmo cmo1979 https://w7.cms.math.ca/competitions/cmo/archive/exam1979.pdf src-cmo-1979-official statement with_solution ? canadian mathematical olympiad 1979 официальные условия stmt-original официальное условие ai_checked маршрут состоит из последовательности шагов длины 1 в направлениях на север, юг, восток или запад. маршрут называется самоизбегающим, если он никогда не проходит через одну и ту же точку дважды. пусть \\(f(n)\\) обозначает число \\(n\\)-шаговых самоизбегающих маршрутов, начинающихся в начале координат. найдите \\(f(1)\\), \\(f(2)\\), \\(f(3)\\), \\(f(4)\\) и докажите, что \\(2^n<f(n)\\le 4\\cdot 3^{n-1}\\). path stmt-graph самоизбегающие пути в квадратной решётке ai_checked пусть вершинами являются целочисленные точки решетки \\(\\mathbb z^2\\), а ребра соединяют пары точек на евклидовом расстоянии 1. пусть \\(f(n)\\) - число простых путей длины \\(n\\), начинающихся в \\((0,0)\\). найдите \\(f(1),f(2),f(3),f(4)\\) и докажите, что \\(2^n<f(n)\\le 4\\cdot 3^{n-1}\\). path stmt-graph-hint-branching ветвление и монотонное подсемейство путей ai_checked в графе квадратной решетки посчитайте простые пути из \\((0,0)\\). для верхней оценки раскрывайте путь по одной вершине: первый шаг имеет 4 варианта, а затем путь не может сразу вернуться в предыдущую вершину, поэтому на каждом шаге есть не более 3 вариантов. для нижней оценки сравните с монотонными путями, использующими только шаги на север и восток. path idea-branching-after-first-step ветвление после первого шага после выбора первого единичного шага следующий шаг имеет не более трех возможных направлений, поскольку обратный шаг сразу вернул бы маршрут в предыдущую точку решетки. это дает стандартную верхнюю оценку \\(f(n)\\le 4\\cdot 3^{n-1}\\). goal_bound ai_checked idea-monotone-subfamily монотонные маршруты дают нижнюю оценку каждая последовательность шагов на север и восток самоизбегающая, что дает \\(2^n\\) маршрутов; кроме них есть и другие маршруты, например маршрут только на юг. следовательно, \\(2^n<f(n)\\). goal_bound ai_checked idea-four-step-square-correction на четвертом шаге мешают только обходы единичного квадрата для четырехшаговых маршрутов наивная оценка дает \\(4\\cdot3^3\\). единственные запрещенные четвертые ходы - это 8 завершений пути по трем сторонам единичного квадрата с возвращением в начало координат, поэтому \\(f(4)=108-8=100\\). goal_counting ai_checked sol-enumeration-and-branching перебор и оценки ветвления ai_checked path для одного, двух и трех шагов после первого шага есть соответственно ноль, один или два дальнейших выбора, каждый с 3 доступными направлениями без немедленного возврата, и до шага 4 никакое другое повторение невозможно. поэтому \\(f(1)=4\\), \\(f(2)=4\\cdot3=12\\) и \\(f(3)=4\\cdot3^2=36\\). для четырех шагов начнем с тех же \\(4\\cdot3^3=108\\) маршрутов без немедленного возврата. повторение может быть только возвращением в начало координат на четвертом шаге; это происходит ровно тогда, когда первые три шага идут по трем сторонам единичного квадрата. есть 4 варианта первого шага и 2 варианта направления обхода квадрата, значит таких маршрутов 8. следовательно, \\(f(4)=108-8=100\\). для каждого \\(n\\ge1\\) первый шаг имеет 4 варианта, а каждый последующий шаг имеет не более 3 вариантов, потому что путь не может сразу вернуться в предыдущую точку решетки, поэтому \\(f(n)\\le4\\cdot3^{n-1}\\). кроме того, в… cmo-1979-p5-square-lattice-self-avoiding-walks samoizbegayuschie puti v kvadratnoy reshetke, cmo 1979 p5 connectivity goal_counting goal_bound 1979 canadian mathematical olympiad 1979 ofitsialnye usloviya cmo cmo1979 https://w7.cms.math.ca/competitions/cmo/archive/exam1979.pdf src-cmo-1979-official statement with_solution ? canadian mathematical olympiad 1979 ofitsialnye usloviya stmt-original ofitsialnoe uslovie ai_checked marshrut sostoit iz posledovatelnosti shagov dliny 1 v napravleniyah na sever, yug, vostok ili zapad. marshrut nazyvaetsya samoizbegayuschim, esli on nikogda ne prohodit cherez odnu i tu zhe tochku dvazhdy. pust \\(f(n)\\) oboznachaet chislo \\(n\\)-shagovyh samoizbegayuschih marshrutov, nachinayuschihsya v nachale koordinat. naydite \\(f(1)\\), \\(f(2)\\), \\(f(3)\\), \\(f(4)\\) i dokazhite, chto \\(2^n<f(n)\\le 4\\cdot 3^{n-1}\\). path stmt-graph samoizbegayuschie puti v kvadratnoy reshetke ai_checked pust vershinami yavlyayutsya tselochislennye tochki reshetki \\(\\mathbb z^2\\), a rebra soedinyayut pary tochek na evklidovom rasstoyanii 1. pust \\(f(n)\\) - chislo prostyh putey dliny \\(n\\), nachinayuschihsya v \\((0,0)\\). naydite \\(f(1),f(2),f(3),f(4)\\) i dokazhite, chto \\(2^n<f(n)\\le 4\\cdot 3^{n-1}\\). path stmt-graph-hint-branching vetvlenie i monotonnoe podsemeystvo putey ai_checked v grafe kvadratnoy reshetki poschitayte prostye puti iz \\((0,0)\\). dlya verhney otsenki raskryvayte put po odnoy vershine: pervyy shag imeet 4 varianta, a zatem put ne mozhet srazu vernutsya v predyduschuyu vershinu, poetomu na kazhdom shage est ne bolee 3 variantov. dlya nizhney otsenki sravnite s monotonnymi putyami, ispolzuyuschimi tolko shagi na sever i vostok. path idea-branching-after-first-step vetvlenie posle pervogo shaga posle vybora pervogo edinichnogo shaga sleduyuschiy shag imeet ne bolee treh vozmozhnyh napravleniy, poskolku obratnyy shag srazu vernul by marshrut v predyduschuyu tochku reshetki. eto daet standartnuyu verhnyuyu otsenku \\(f(n)\\le 4\\cdot 3^{n-1}\\). goal_bound ai_checked idea-monotone-subfamily monotonnye marshruty dayut nizhnyuyu otsenku kazhdaya posledovatelnost shagov na sever i vostok samoizbegayuschaya, chto daet \\(2^n\\) marshrutov; krome nih est i drugie marshruty, naprimer marshrut tolko na yug. sledovatelno, \\(2^n<f(n)\\). goal_bound ai_checked idea-four-step-square-correction na chetvertom shage meshayut tolko obhody edinichnogo kvadrata dlya chetyrehshagovyh marshrutov naivnaya otsenka daet \\(4\\cdot3^3\\). edinstvennye zapreschennye chetvertye hody - eto 8 zaversheniy puti po trem storonam edinichnogo kvadrata s vozvrascheniem v nachalo koordinat, poetomu \\(f(4)=108-8=100\\). goal_counting ai_checked sol-enumeration-and-branching perebor i otsenki vetvleniya ai_checked path dlya odnogo, dvuh i treh shagov posle pervogo shaga est sootvetstvenno nol, odin ili dva dalneyshih vybora, kazhdyy s 3 dostupnymi napravleniyami bez nemedlennogo vozvrata, i do shaga 4 nikakoe drugoe povtorenie nevozmozhno. poetomu \\(f(1)=4\\), \\(f(2)=4\\cdot3=12\\) i \\(f(3)=4\\cdot3^2=36\\). dlya chetyreh shagov nachnem s teh zhe \\(4\\cdot3^3=108\\) marshrutov bez nemedlennogo vozvrata. povtorenie mozhet byt tolko vozvrascheniem v nachalo koordinat na chetvertom shage; eto proishodit rovno togda, kogda pervye tri shaga idut po trem storonam edinichnogo kvadrata. est 4 varianta pervogo shaga i 2 varianta napravleniya obhoda kvadrata, znachit takih marshrutov 8. sledovatelno, \\(f(4)=108-8=100\\). dlya kazhdogo \\(n\\ge1\\) pervyy shag imeet 4 varianta, a kazhdyy posleduyuschiy shag imeet ne bolee 3 variantov, potomu chto put ne mozhet srazu vernutsya v predyduschuyu tochku reshetki, poetomu \\(f(n)\\le4\\cdot3^{n-1}\\). krome togo, v…","source_keys":["cmo"]}
{"id":"cmo-1989-p4-ladders-ropes-monkeys","title":"Последовательность паросочетаний на пяти линиях, CMO 1989 P4","path":"data\\problems\\cmo\\cmo-1989-p4-ladders-ropes-monkeys.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-1989-p4-ladders-ropes-monkeys.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-1989-p4-ladders-ropes-monkeys","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 1989 официальные условия"],"year":"1989","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["matching","goal_proof","goal_characterization"],"agent_topics":[],"difficulty":{"main":"national_final_easy","local_score":5,"comment":"CMO 1989 P4; короткая задача на биекцию: уровни верёвок действуют как произведения непересекающихся транспозиций.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"ai_original","status":"ai_checked","confidence":0.7,"basis":"официальный или опубликованный источник решения не обнаружен","notes":"Решение выглядит как восстановленное/написанное ИИ с нуля; желательно выборочно перепроверять математически.","label":"ИИ-решение с нуля"},"statements":{"original":[{"id":"stmt-original","title":"Условие","status":"ai_checked","text":"Есть 5 обезьян и 5 лестниц; наверху каждой лестницы лежит банан. Несколько верёвок соединяют лестницы, каждая верёвка соединяет две лестницы. Никакие две верёвки не прикреплены к одной и той же перекладине одной и той же лестницы. Каждая обезьяна начинает снизу своей лестницы. Обезьяны лезут вверх по лестницам, но всякий раз, когда встречают верёвку, переходят по ней на лестницу на другом конце верёвки и затем продолжают лезть вверх. Докажите, что при любом числе верёвок каждая обезьяна получит банан.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Последовательность паросочетаний на пяти вершинах","status":"ai_checked","text":"Дана конечная последовательность паросочетаний на множестве \\(\\{1,2,3,4,5\\}\\). Вначале в каждой вершине стоит по одной фишке. На каждом шаге, для очередного паросочетания, фишки на концах каждого его ребра меняются местами, а остальные фишки остаются на месте. Докажите, что после всех шагов фишки занимают все пять вершин.","definition_ids":["path","matching"]}],"graph_hint_reformulations":[{"id":"stmt-hint-transpositions","title":"Подсказка через перестановки уровней","status":"ai_checked","text":"Упорядочьте все высоты, на которых есть горизонтальные рёбра. Между двумя соседними высотами на каждом из пяти вертикальных путей находится ровно одна фишка. На очередной высоте горизонтальные рёбра попарно меняют фишки местами на своих концах, то есть действуют как произведение непересекающихся транспозиций. Докажите, что после всех высот полученная карта нижних терминалов в верхние является перестановкой.","definition_ids":["matching","path"]}]},"solutions":[{"id":"sol-transposition-levels","title":"Решение через перестановки на уровнях","status":"ai_checked","definition_ids":["matching"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Рассмотрим все уровни, на которых к лестницам прикреплены верёвки, в порядке снизу вверх. На каждом таком уровне никакая лестница не участвует более чем в одной верёвке, поэтому верёвки этого уровня образуют паросочетание на пяти лестницах. До первого уровня на каждой лестнице находится ровно одна обезьяна. Когда обезьяны доходят до очередного уровня, каждая верёвка этого уровня меняет местами обезьян на двух своих концах, а лестницы без верёвки на этом уровне сохраняют своих обезьян. Значит, переход через уровень является перестановкой пяти обезьян по пяти лестницам. После уровня снова на каждой лестнице ровно одна обезьяна. Повторяя это для всех уровней, получаем композицию перестановок. Следовательно, перед последним отрезком до вершин лестниц на каждой лестнице по-прежнему находится ровно одна обезьяна. Все обезьяны дальше лезут вверх и достигают верхов лестниц; поскольку верхов пят…"}],"relations":[],"search_text":"cmo-1989-p4-ladders-ropes-monkeys последовательность паросочетаний на пяти линиях, cmo 1989 p4 matching goal_proof goal_characterization 1989 canadian mathematical olympiad 1989 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo1989 https://w7.cms.math.ca/competitions/cmo/archive/exam1989.pdf src-cmo-1989-official statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 1989 официальные условия stmt-original условие ai_checked есть 5 обезьян и 5 лестниц; наверху каждой лестницы лежит банан. несколько верёвок соединяют лестницы, каждая верёвка соединяет две лестницы. никакие две верёвки не прикреплены к одной и той же перекладине одной и той же лестницы. каждая обезьяна начинает снизу своей лестницы. обезьяны лезут вверх по лестницам, но всякий раз, когда встречают верёвку, переходят по ней на лестницу на другом конце верёвки и затем продолжают лезть вверх. докажите, что при любом числе верёвок каждая обезьяна получит банан. stmt-graph последовательность паросочетаний на пяти вершинах ai_checked дана конечная последовательность паросочетаний на множестве \\(\\{1,2,3,4,5\\}\\). вначале в каждой вершине стоит по одной фишке. на каждом шаге, для очередного паросочетания, фишки на концах каждого его ребра меняются местами, а остальные фишки остаются на месте. докажите, что после всех шагов фишки занимают все пять вершин. path matching stmt-hint-transpositions подсказка через перестановки уровней ai_checked упорядочьте все высоты, на которых есть горизонтальные рёбра. между двумя соседними высотами на каждом из пяти вертикальных путей находится ровно одна фишка. на очередной высоте горизонтальные рёбра попарно меняют фишки местами на своих концах, то есть действуют как произведение непересекающихся транспозиций. докажите, что после всех высот полученная карта нижних терминалов в верхние является перестановкой. matching path idea-rope-levels верёвки как уровни переключения если смотреть снизу вверх, то все верёвки одной высоты задают паросочетание на пяти лестницах и просто переставляют обезьян между лестницами. matching ai_checked idea-bijection композиция перестановок остаётся перестановкой каждый уровень действует биективно на множество лестниц; значит, вся сеть переводит пять нижних стартов в пять различных верхних выходов. goal_proof ai_checked sol-transposition-levels решение через перестановки на уровнях ai_checked matching рассмотрим все уровни, на которых к лестницам прикреплены верёвки, в порядке снизу вверх. на каждом таком уровне никакая лестница не участвует более чем в одной верёвке, поэтому верёвки этого уровня образуют паросочетание на пяти лестницах. до первого уровня на каждой лестнице находится ровно одна обезьяна. когда обезьяны доходят до очередного уровня, каждая верёвка этого уровня меняет местами обезьян на двух своих концах, а лестницы без верёвки на этом уровне сохраняют своих обезьян. значит, переход через уровень является перестановкой пяти обезьян по пяти лестницам. после уровня снова на каждой лестнице ровно одна обезьяна. повторяя это для всех уровней, получаем композицию перестановок. следовательно, перед последним отрезком до вершин лестниц на каждой лестнице по-прежнему находится ровно одна обезьяна. все обезьяны дальше лезут вверх и достигают верхов лестниц; поскольку верхов пят… cmo-1989-p4-ladders-ropes-monkeys posledovatelnost parosochetaniy na pyati liniyah, cmo 1989 p4 matching goal_proof goal_characterization 1989 canadian mathematical olympiad 1989 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo1989 https://w7.cms.math.ca/competitions/cmo/archive/exam1989.pdf src-cmo-1989-official statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 1989 ofitsialnye usloviya stmt-original uslovie ai_checked est 5 obezyan i 5 lestnits; naverhu kazhdoy lestnitsy lezhit banan. neskolko verevok soedinyayut lestnitsy, kazhdaya verevka soedinyaet dve lestnitsy. nikakie dve verevki ne prikrepleny k odnoy i toy zhe perekladine odnoy i toy zhe lestnitsy. kazhdaya obezyana nachinaet snizu svoey lestnitsy. obezyany lezut vverh po lestnitsam, no vsyakiy raz, kogda vstrechayut verevku, perehodyat po ney na lestnitsu na drugom kontse verevki i zatem prodolzhayut lezt vverh. dokazhite, chto pri lyubom chisle verevok kazhdaya obezyana poluchit banan. stmt-graph posledovatelnost parosochetaniy na pyati vershinah ai_checked dana konechnaya posledovatelnost parosochetaniy na mnozhestve \\(\\{1,2,3,4,5\\}\\). vnachale v kazhdoy vershine stoit po odnoy fishke. na kazhdom shage, dlya ocherednogo parosochetaniya, fishki na kontsah kazhdogo ego rebra menyayutsya mestami, a ostalnye fishki ostayutsya na meste. dokazhite, chto posle vseh shagov fishki zanimayut vse pyat vershin. path matching stmt-hint-transpositions podskazka cherez perestanovki urovney ai_checked uporyadochte vse vysoty, na kotoryh est gorizontalnye rebra. mezhdu dvumya sosednimi vysotami na kazhdom iz pyati vertikalnyh putey nahoditsya rovno odna fishka. na ocherednoy vysote gorizontalnye rebra poparno menyayut fishki mestami na svoih kontsah, to est deystvuyut kak proizvedenie neperesekayuschihsya transpozitsiy. dokazhite, chto posle vseh vysot poluchennaya karta nizhnih terminalov v verhnie yavlyaetsya perestanovkoy. matching path idea-rope-levels verevki kak urovni pereklyucheniya esli smotret snizu vverh, to vse verevki odnoy vysoty zadayut parosochetanie na pyati lestnitsah i prosto perestavlyayut obezyan mezhdu lestnitsami. matching ai_checked idea-bijection kompozitsiya perestanovok ostaetsya perestanovkoy kazhdyy uroven deystvuet biektivno na mnozhestvo lestnits; znachit, vsya set perevodit pyat nizhnih startov v pyat razlichnyh verhnih vyhodov. goal_proof ai_checked sol-transposition-levels reshenie cherez perestanovki na urovnyah ai_checked matching rassmotrim vse urovni, na kotoryh k lestnitsam prikrepleny verevki, v poryadke snizu vverh. na kazhdom takom urovne nikakaya lestnitsa ne uchastvuet bolee chem v odnoy verevke, poetomu verevki etogo urovnya obrazuyut parosochetanie na pyati lestnitsah. do pervogo urovnya na kazhdoy lestnitse nahoditsya rovno odna obezyana. kogda obezyany dohodyat do ocherednogo urovnya, kazhdaya verevka etogo urovnya menyaet mestami obezyan na dvuh svoih kontsah, a lestnitsy bez verevki na etom urovne sohranyayut svoih obezyan. znachit, perehod cherez uroven yavlyaetsya perestanovkoy pyati obezyan po pyati lestnitsam. posle urovnya snova na kazhdoy lestnitse rovno odna obezyana. povtoryaya eto dlya vseh urovney, poluchaem kompozitsiyu perestanovok. sledovatelno, pered poslednim otrezkom do vershin lestnits na kazhdoy lestnitse po-prezhnemu nahoditsya rovno odna obezyana. vse obezyany dalshe lezut vverh i dostigayut verhov lestnits; poskolku verhov pyat…","source_keys":["cmo"]}
{"id":"cmo-1991-p4-edge-difference-labeling-diagram","title":"Разностная разметка десятивершинного графа, CMO 1991 P4","path":"data\\problems\\cmo\\cmo-1991-p4-edge-difference-labeling-diagram.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-1991-p4-edge-difference-labeling-diagram.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-1991-p4-edge-difference-labeling-diagram","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 1991 официальные условия","School Exercise Books blog, решения 23rd Canadian Mathematical Olympiad","Math StackExchange, edge-difference labelling parity hint for CMO 1991 P4"],"year":"1991","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["coloring","double_counting","eulerian_graphs","goal_impossibility","parity_coloring"],"agent_topics":[],"difficulty":{"main":"national_final_medium","local_score":8,"comment":"CMO 1991 P4; диаграмма превращается в небольшой граф с четными степенями, а препятствие задается коротким аргументом о четности разреза.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"unofficial_published","status":"ai_checked","confidence":0.78,"basis":"неофициальный опубликованный источник или маркер опубликованного решения","notes":"Решение опубликовано не в официальном архиве; источник надо отличать от официального.","label":"опубликованное неофициальное"},"statements":{"original":[{"id":"stmt-original","title":"Официальное условие","status":"ai_checked","text":"Нужно выбрать десять различных чисел из множества \\(\\{0,1,2,\\ldots,13,14\\}\\) и вписать их в десять кружков на следующем графе. Граф состоит из двух копий одного и того же пятивершинного ромба с центром: в каждой копии есть верхняя, нижняя, левая, центральная и правая вершины; ребра идут от верхней вершины к каждой из левой, центральной и правой, а также от каждой из левой, центральной и правой к нижней. Две копии соединены двумя дополнительными ребрами: одно соединяет две верхние вершины, другое - две нижние. Абсолютные величины разностей двух чисел, соединенных каждым отрезком, должны отличаться от значений для всех остальных отрезков. Возможно ли это сделать? Обоснуйте ответ.","definition_ids":["simple_graph"]}],"graph_theory":[{"id":"stmt-graph","title":"Разностная разметка десятивершинного графа","status":"ai_checked","text":"Пусть \\(G\\) - простой граф на вершинах \\(t_1,b_1,x_1,y_1,z_1,t_2,b_2,x_2,y_2,z_2\\), с ребрами \\(t_i x_i,t_i y_i,t_i z_i,b_i x_i,b_i y_i,b_i z_i\\) при \\(i=1,2\\), а также с двумя ребрами \\(t_1t_2\\) и \\(b_1b_2\\). Можно ли инъективно пометить вершины \\(G\\) десятью числами, выбранными из \\(\\{0,1,\\ldots,14\\}\\), так, чтобы абсолютные разности на всех 14 ребрах были попарно различны?","definition_ids":["simple_graph","degree"]}],"graph_hint_reformulations":[{"id":"stmt-parity-cut-hint","title":"Препятствие через четность разреза","status":"ai_checked","text":"В графовой формулировке 14 попарно различных положительных разностей на ребрах должны быть ровно числами \\(1,2,\\ldots,14\\). Значит, ровно семь ребер имеют нечетную разность. Нечетная разность означает, что метки двух концов имеют разную четность, поэтому эти семь ребер образуют разрез между вершинами с нечетными и четными метками. Но каждая вершина \\(G\\) имеет четную степень, поэтому по лемме о рукопожатиях любой разрез в \\(G\\) имеет четный размер.","definition_ids":["simple_graph","degree","graph_cut"]}]},"solutions":[{"id":"sol-parity-cut","title":"Чётность разреза","status":"ai_checked","definition_ids":["simple_graph","degree"],"standard_idea_ids":["double_counting"],"tags":[],"has_text":true,"text_preview":"Ответ: нет. Предположим, что такую разметку удалось сделать. Все 10 чисел различны, поэтому ни одна из 14 указанных разностей не равна нулю. Каждая разность лежит между 1 и 14. Так как разностей ровно 14 и они попарно различны, они обязаны быть ровно числами \\(1,2,\\ldots,14\\) в некотором порядке. Значит, среди них ровно 7 нечётных разностей. Посмотрим на чётность другим способом. Нечётная разность возникает тогда и только тогда, когда два числа на концах соответствующего ребра имеют разную чётность. Рассмотрим граф из условия: две копии \\(K_{2,3}\\), соединённые двумя дополнительными рёбрами. Вершины \\(t_1,t_2,b_1,b_2\\) имеют степень 4, а остальные шесть вершин имеют степень 2. Значит, степень каждой вершины графа чётна. Разобьём вершины на две группы: с чётными метками и с нечётными метками. Рёбра с нечётной разностью — это ровно рёбра, пересекающие этот разрез. В любом графе, где все с…"}],"relations":[{"id":"rel-all-union-1986-n1986-cmo-1991-complete-set-parity","neighbor_id":"all-union-1986-final-9-tree-distances-n1986-impossible","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-1991-p4-handshaking-cut-parity","neighbor_id":"handshaking-lemma","direction":"backward","type":"prerequisite","distance":1,"status":"ai_checked"},{"id":"rel-cmo-1991-p4-eulerian-graph-criterion","neighbor_id":"eulerian-graph-criterion","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-1991-p4-imo-2020-c6-eulerian-parity","neighbor_id":"imo-2020-c6-colored-coins-eulerian-multigraph","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-cmo-1991-p4-kolm-2022-even-degree-odd-walks","neighbor_id":"kolmogorov-2022-round4-second-third-even-degree-odd-walks","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-cmo-2010-p4-cmo-1991-degree-parity","neighbor_id":"cmo-2010-p4-graph-neighborhood-toggle","direction":"backward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-miklos-2009-p2-complete-cmo-1991-edge-differences","neighbor_id":"miklos-schweitzer-2009-p2-complete-smooth-difference-graphs-impossible","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"}],"search_text":"cmo-1991-p4-edge-difference-labeling-diagram разностная разметка десятивершинного графа, cmo 1991 p4 coloring double_counting eulerian_graphs goal_impossibility parity_coloring 1991 canadian mathematical olympiad 1991 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo1991 community_hint community_solution https://math.stackexchange.com/questions/1367056/is-it-possible-to-choose-10-distinct-numbers-from-the-set-0-1-2 https://schoolexercisebooks.blogspot.com/2010/09/23rd-canadian-mathematical-olympiad.html https://w7.cms.math.ca/competitions/cmo/archive/exam1991.pdf math stackexchange, edge-difference labelling parity hint for cmo 1991 p4 school exercise books blog, решения 23rd canadian mathematical olympiad src-cmo-1991-official src-mse-cmo-1991-p4-edge-difference src-school-exercise-books-cmo-1991-p4 statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 1991 официальные условия school exercise books blog, решения 23rd canadian mathematical olympiad math stackexchange, edge-difference labelling parity hint for cmo 1991 p4 stmt-original официальное условие ai_checked нужно выбрать десять различных чисел из множества \\(\\{0,1,2,\\ldots,13,14\\}\\) и вписать их в десять кружков на следующем графе. граф состоит из двух копий одного и того же пятивершинного ромба с центром: в каждой копии есть верхняя, нижняя, левая, центральная и правая вершины; ребра идут от верхней вершины к каждой из левой, центральной и правой, а также от каждой из левой, центральной и правой к нижней. две копии соединены двумя дополнительными ребрами: одно соединяет две верхние вершины, другое - две нижние. абсолютные величины разностей двух чисел, соединенных каждым отрезком, должны отличаться от значений для всех остальных отрезков. возможно ли это сделать? обоснуйте ответ. simple_graph stmt-graph разностная разметка десятивершинного графа ai_checked пусть \\(g\\) - простой граф на вершинах \\(t_1,b_1,x_1,y_1,z_1,t_2,b_2,x_2,y_2,z_2\\), с ребрами \\(t_i x_i,t_i y_i,t_i z_i,b_i x_i,b_i y_i,b_i z_i\\) при \\(i=1,2\\), а также с двумя ребрами \\(t_1t_2\\) и \\(b_1b_2\\). можно ли инъективно пометить вершины \\(g\\) десятью числами, выбранными из \\(\\{0,1,\\ldots,14\\}\\), так, чтобы абсолютные разности на всех 14 ребрах были попарно различны? simple_graph degree stmt-parity-cut-hint препятствие через четность разреза ai_checked в графовой формулировке 14 попарно различных положительных разностей на ребрах должны быть ровно числами \\(1,2,\\ldots,14\\). значит, ровно семь ребер имеют нечетную разность. нечетная разность означает, что метки двух концов имеют разную четность, поэтому эти семь ребер образуют разрез между вершинами с нечетными и четными метками. но каждая вершина \\(g\\) имеет четную степень, поэтому по лемме о рукопожатиях любой разрез в \\(g\\) имеет четный размер. simple_graph degree graph_cut idea-odd-differences-as-cut нечетные разности образуют разрез поскольку ребер 14 и все разности на ребрах являются различными элементами \\(\\{1,2,\\ldots,14\\}\\), эти разности должны быть ровно всеми этими 14 числами. нечетные разности соответствуют в точности ребрам, переходящим от вершин с нечетными метками к вершинам с четными метками. coloring goal_impossibility ai_checked idea-even-degree-cut-parity четные степени вынуждают четные разрезы граф диаграммы имеет степени \\(4,4,2,2,2,4,4,2,2,2\\). значит, каждая вершина имеет четную степень, а лемма о рукопожатиях, примененная к одной стороне любого вершинного разреза, показывает, что каждый разрез содержит четное число ребер. double_counting eulerian_graphs ai_checked sol-parity-cut чётность разреза ai_checked simple_graph degree double_counting ответ: нет. предположим, что такую разметку удалось сделать. все 10 чисел различны, поэтому ни одна из 14 указанных разностей не равна нулю. каждая разность лежит между 1 и 14. так как разностей ровно 14 и они попарно различны, они обязаны быть ровно числами \\(1,2,\\ldots,14\\) в некотором порядке. значит, среди них ровно 7 нечётных разностей. посмотрим на чётность другим способом. нечётная разность возникает тогда и только тогда, когда два числа на концах соответствующего ребра имеют разную чётность. рассмотрим граф из условия: две копии \\(k_{2,3}\\), соединённые двумя дополнительными рёбрами. вершины \\(t_1,t_2,b_1,b_2\\) имеют степень 4, а остальные шесть вершин имеют степень 2. значит, степень каждой вершины графа чётна. разобьём вершины на две группы: с чётными метками и с нечётными метками. рёбра с нечётной разностью — это ровно рёбра, пересекающие этот разрез. в любом графе, где все с… cmo-1991-p4-edge-difference-labeling-diagram raznostnaya razmetka desyativershinnogo grafa, cmo 1991 p4 coloring double_counting eulerian_graphs goal_impossibility parity_coloring 1991 canadian mathematical olympiad 1991 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo1991 community_hint community_solution https://math.stackexchange.com/questions/1367056/is-it-possible-to-choose-10-distinct-numbers-from-the-set-0-1-2 https://schoolexercisebooks.blogspot.com/2010/09/23rd-canadian-mathematical-olympiad.html https://w7.cms.math.ca/competitions/cmo/archive/exam1991.pdf math stackexchange, edge-difference labelling parity hint for cmo 1991 p4 school exercise books blog, resheniya 23rd canadian mathematical olympiad src-cmo-1991-official src-mse-cmo-1991-p4-edge-difference src-school-exercise-books-cmo-1991-p4 statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 1991 ofitsialnye usloviya school exercise books blog, resheniya 23rd canadian mathematical olympiad math stackexchange, edge-difference labelling parity hint for cmo 1991 p4 stmt-original ofitsialnoe uslovie ai_checked nuzhno vybrat desyat razlichnyh chisel iz mnozhestva \\(\\{0,1,2,\\ldots,13,14\\}\\) i vpisat ih v desyat kruzhkov na sleduyuschem grafe. graf sostoit iz dvuh kopiy odnogo i togo zhe pyativershinnogo romba s tsentrom: v kazhdoy kopii est verhnyaya, nizhnyaya, levaya, tsentralnaya i pravaya vershiny; rebra idut ot verhney vershiny k kazhdoy iz levoy, tsentralnoy i pravoy, a takzhe ot kazhdoy iz levoy, tsentralnoy i pravoy k nizhney. dve kopii soedineny dvumya dopolnitelnymi rebrami: odno soedinyaet dve verhnie vershiny, drugoe - dve nizhnie. absolyutnye velichiny raznostey dvuh chisel, soedinennyh kazhdym otrezkom, dolzhny otlichatsya ot znacheniy dlya vseh ostalnyh otrezkov. vozmozhno li eto sdelat? obosnuyte otvet. simple_graph stmt-graph raznostnaya razmetka desyativershinnogo grafa ai_checked pust \\(g\\) - prostoy graf na vershinah \\(t_1,b_1,x_1,y_1,z_1,t_2,b_2,x_2,y_2,z_2\\), s rebrami \\(t_i x_i,t_i y_i,t_i z_i,b_i x_i,b_i y_i,b_i z_i\\) pri \\(i=1,2\\), a takzhe s dvumya rebrami \\(t_1t_2\\) i \\(b_1b_2\\). mozhno li inektivno pometit vershiny \\(g\\) desyatyu chislami, vybrannymi iz \\(\\{0,1,\\ldots,14\\}\\), tak, chtoby absolyutnye raznosti na vseh 14 rebrah byli poparno razlichny? simple_graph degree stmt-parity-cut-hint prepyatstvie cherez chetnost razreza ai_checked v grafovoy formulirovke 14 poparno razlichnyh polozhitelnyh raznostey na rebrah dolzhny byt rovno chislami \\(1,2,\\ldots,14\\). znachit, rovno sem reber imeyut nechetnuyu raznost. nechetnaya raznost oznachaet, chto metki dvuh kontsov imeyut raznuyu chetnost, poetomu eti sem reber obrazuyut razrez mezhdu vershinami s nechetnymi i chetnymi metkami. no kazhdaya vershina \\(g\\) imeet chetnuyu stepen, poetomu po lemme o rukopozhatiyah lyuboy razrez v \\(g\\) imeet chetnyy razmer. simple_graph degree graph_cut idea-odd-differences-as-cut nechetnye raznosti obrazuyut razrez poskolku reber 14 i vse raznosti na rebrah yavlyayutsya razlichnymi elementami \\(\\{1,2,\\ldots,14\\}\\), eti raznosti dolzhny byt rovno vsemi etimi 14 chislami. nechetnye raznosti sootvetstvuyut v tochnosti rebram, perehodyaschim ot vershin s nechetnymi metkami k vershinam s chetnymi metkami. coloring goal_impossibility ai_checked idea-even-degree-cut-parity chetnye stepeni vynuzhdayut chetnye razrezy graf diagrammy imeet stepeni \\(4,4,2,2,2,4,4,2,2,2\\). znachit, kazhdaya vershina imeet chetnuyu stepen, a lemma o rukopozhatiyah, primenennaya k odnoy storone lyubogo vershinnogo razreza, pokazyvaet, chto kazhdyy razrez soderzhit chetnoe chislo reber. double_counting eulerian_graphs ai_checked sol-parity-cut chetnost razreza ai_checked simple_graph degree double_counting otvet: net. predpolozhim, chto takuyu razmetku udalos sdelat. vse 10 chisel razlichny, poetomu ni odna iz 14 ukazannyh raznostey ne ravna nulyu. kazhdaya raznost lezhit mezhdu 1 i 14. tak kak raznostey rovno 14 i oni poparno razlichny, oni obyazany byt rovno chislami \\(1,2,\\ldots,14\\) v nekotorom poryadke. znachit, sredi nih rovno 7 nechetnyh raznostey. posmotrim na chetnost drugim sposobom. nechetnaya raznost voznikaet togda i tolko togda, kogda dva chisla na kontsah sootvetstvuyuschego rebra imeyut raznuyu chetnost. rassmotrim graf iz usloviya: dve kopii \\(k_{2,3}\\), soedinennye dvumya dopolnitelnymi rebrami. vershiny \\(t_1,t_2,b_1,b_2\\) imeyut stepen 4, a ostalnye shest vershin imeyut stepen 2. znachit, stepen kazhdoy vershiny grafa chetna. razobem vershiny na dve gruppy: s chetnymi metkami i s nechetnymi metkami. rebra s nechetnoy raznostyu — eto rovno rebra, peresekayuschie etot razrez. v lyubom grafe, gde vse s…","source_keys":["cmo"]}
{"id":"cmo-1994-p3-voting-stabilizes-cycle","title":"Стабилизация 2-раскраски цикла \\(C_{25}\\), CMO 1994 P3","path":"data\\problems\\cmo\\cmo-1994-p3-voting-stabilizes-cycle.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-1994-p3-voting-stabilizes-cycle.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-1994-p3-voting-stabilizes-cycle","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 1994 официальные условия","Canadian Mathematical Olympiad 1994 официальные решения"],"year":"1994","type":"olympiad_problem","authors":[],"tags":["coloring","induction","goal_proof"],"agent_topics":[],"difficulty":{"main":"national_final_medium","local_score":8,"comment":"CMO 1994 P3; задача сводится к динамике 2-раскраски нечётного цикла и монотонному росту множества вершин, имеющих соседа того же цвета.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Условие","status":"ai_checked","text":"Двадцать пять мужчин сидят вокруг круглого стола. Каждый час проходит голосование, и каждый отвечает «да» или «нет». На \\(n\\)-м голосовании каждый ведёт себя так: если его ответ совпадает с ответом хотя бы одного из двух соседей, то на \\((n+1)\\)-м голосовании он отвечает так же; если же его ответ отличается от ответов обоих соседей, то на \\((n+1)\\)-м голосовании он меняет ответ. Докажите, что каковы бы ни были ответы на первом голосовании, наступит момент, после которого больше ничей ответ не изменится.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Стабилизация 2-раскраски цикла \\(C_{25}\\)","status":"ai_checked","text":"Рассмотрим цикл \\(C_{25}\\), вершины которого окрашены в два цвета. За один шаг одновременно перекрашиваются ровно те вершины, цвет которых отличается от цветов обоих соседей; остальные вершины сохраняют цвет. Докажите, что для любой начальной 2-раскраски через конечное число шагов раскраска станет неподвижной.","definition_ids":["cycle"]}],"graph_hint_reformulations":[{"id":"stmt-hint-odd-cycle-monotone-set","title":"","status":"ai_checked","text":"Более общая форма с тем же доказательством: пусть \\(N\\) нечётно, и на цикле \\(C_N\\) задана 2-раскраска. На каждом шаге одновременно меняют цвет только изолированные по цвету вершины, то есть вершины, отличающиеся от обоих соседей. Докажите стабилизацию, рассматривая множество \\(A_t\\) вершин, у которых в момент \\(t\\) есть сосед того же цвета: это множество монотонно растёт, а на нечётном цикле оно изначально непусто.","definition_ids":["cycle"]}]},"solutions":[{"id":"sol-official-stabilizing-set","title":"Решение через множество уже закрепившихся людей","status":"ai_checked","definition_ids":["cycle"],"standard_idea_ids":["induction"],"tags":[],"has_text":true,"text_preview":"Будем говорить, что человек согласен на \\(n\\)-м голосовании, если его ответ на этом голосовании совпадает с ответом хотя бы одного из двух соседей. Сначала отметим ключевой факт: если два соседа дали одинаковый ответ на \\(n\\)-м голосовании, то на \\((n+1)\\)-м голосовании оба сохранят свои ответы, потому что каждый из них имеет соседа с тем же ответом. Значит, на следующем голосовании эта пара снова будет согласной, и по индукции оба человека уже никогда не изменят ответ после \\(n\\)-го голосования. Пусть \\(A_n\\) — множество людей, которые на \\(n\\)-м голосовании согласны хотя бы с одним из своих соседей. Из предыдущего абзаца следует, что \\(A_n\\subseteq A_{n+1}\\) для всех \\(n\\ge 1\\): попавший в \\(A_n\\) человек дальше не меняет ответ и остаётся согласным с тем же соседом. Нам достаточно доказать, что при некотором \\(n\\) множество \\(A_n\\) содержит всех 25 людей, потому что тогда каждый имеет…"}],"relations":[{"id":"rel-cmo-1994-p3-egmo-2025-p5-dynamic-cycle","neighbor_id":"egmo-2025-p5-rotating-arrows-even-dynamic-cycle","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-1994-p3-apmo-2016-p4-coloring-dynamics","neighbor_id":"apmo-2016-p4-dreamland-28-step-coloring","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-cmo-1994-p3-cmo-2010-p4-color-toggle","neighbor_id":"cmo-2010-p4-graph-neighborhood-toggle","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-cmo-2025-p1-cmo-1994-p3-voting-dynamics","neighbor_id":"cmo-2025-p1-voting-functional-graph","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-simon-marais-2020-a1-cmo-1994-p3-odd-cycle-alternation","neighbor_id":"simon-marais-2020-a1-odd-cycle-line-transversal","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-imo-2019-c3-cmo-1994-p3-finite-dynamics","neighbor_id":"imo-2019-c3-coin-process-digraph","direction":"backward","type":"same_motif","distance":3,"status":"needs_human_review"},{"id":"rel-putnam-2025-a4-cycle","neighbor_id":"putnam-2025-a4-cycle-commutation-graph-matrices","direction":"backward","type":"false_friend","distance":1,"status":"ai_checked"}],"search_text":"cmo-1994-p3-voting-stabilizes-cycle стабилизация 2-раскраски цикла \\(c_{25}\\), cmo 1994 p3 coloring induction goal_proof 1994 canadian mathematical olympiad 1994 официальные решения canadian mathematical olympiad 1994 официальные условия cmo cmo1994 https://w7.cms.math.ca/competitions/cmo/archive/exam1994.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol1994.pdf solution_notes src-cmo-1994-official src-cmo-1994-solutions statement with_solution ? canadian mathematical olympiad 1994 официальные условия canadian mathematical olympiad 1994 официальные решения stmt-original условие ai_checked двадцать пять мужчин сидят вокруг круглого стола. каждый час проходит голосование, и каждый отвечает «да» или «нет». на \\(n\\)-м голосовании каждый ведёт себя так: если его ответ совпадает с ответом хотя бы одного из двух соседей, то на \\((n+1)\\)-м голосовании он отвечает так же; если же его ответ отличается от ответов обоих соседей, то на \\((n+1)\\)-м голосовании он меняет ответ. докажите, что каковы бы ни были ответы на первом голосовании, наступит момент, после которого больше ничей ответ не изменится. stmt-graph стабилизация 2-раскраски цикла \\(c_{25}\\) ai_checked рассмотрим цикл \\(c_{25}\\), вершины которого окрашены в два цвета. за один шаг одновременно перекрашиваются ровно те вершины, цвет которых отличается от цветов обоих соседей; остальные вершины сохраняют цвет. докажите, что для любой начальной 2-раскраски через конечное число шагов раскраска станет неподвижной. cycle stmt-hint-odd-cycle-monotone-set ai_checked более общая форма с тем же доказательством: пусть \\(n\\) нечётно, и на цикле \\(c_n\\) задана 2-раскраска. на каждом шаге одновременно меняют цвет только изолированные по цвету вершины, то есть вершины, отличающиеся от обоих соседей. докажите стабилизацию, рассматривая множество \\(a_t\\) вершин, у которых в момент \\(t\\) есть сосед того же цвета: это множество монотонно растёт, а на нечётном цикле оно изначально непусто. cycle idea-monotone-agreeing-set монотонное множество уже закрепившихся вершин если две соседние вершины имеют одинаковый цвет в некоторый момент, то обе сохраняют свои цвета на следующем шаге и снова остаются одинаковыми. поэтому множество вершин, у которых есть сосед того же цвета, только расширяется. coloring induction ai_checked idea-odd-cycle-nonempty-start на нечётном цикле нельзя чередовать два цвета если бы у каждой вершины оба соседа имели противоположный цвет, цвета должны были бы строго чередоваться по всему циклу. на цикле нечётной длины это невозможно, значит уже в начальный момент есть соседняя пара одного цвета. coloring ai_checked sol-official-stabilizing-set решение через множество уже закрепившихся людей ai_checked cycle induction будем говорить, что человек согласен на \\(n\\)-м голосовании, если его ответ на этом голосовании совпадает с ответом хотя бы одного из двух соседей. сначала отметим ключевой факт: если два соседа дали одинаковый ответ на \\(n\\)-м голосовании, то на \\((n+1)\\)-м голосовании оба сохранят свои ответы, потому что каждый из них имеет соседа с тем же ответом. значит, на следующем голосовании эта пара снова будет согласной, и по индукции оба человека уже никогда не изменят ответ после \\(n\\)-го голосования. пусть \\(a_n\\) — множество людей, которые на \\(n\\)-м голосовании согласны хотя бы с одним из своих соседей. из предыдущего абзаца следует, что \\(a_n\\subseteq a_{n+1}\\) для всех \\(n\\ge 1\\): попавший в \\(a_n\\) человек дальше не меняет ответ и остаётся согласным с тем же соседом. нам достаточно доказать, что при некотором \\(n\\) множество \\(a_n\\) содержит всех 25 людей, потому что тогда каждый имеет… cmo-1994-p3-voting-stabilizes-cycle stabilizatsiya 2-raskraski tsikla \\(c_{25}\\), cmo 1994 p3 coloring induction goal_proof 1994 canadian mathematical olympiad 1994 ofitsialnye resheniya canadian mathematical olympiad 1994 ofitsialnye usloviya cmo cmo1994 https://w7.cms.math.ca/competitions/cmo/archive/exam1994.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol1994.pdf solution_notes src-cmo-1994-official src-cmo-1994-solutions statement with_solution ? canadian mathematical olympiad 1994 ofitsialnye usloviya canadian mathematical olympiad 1994 ofitsialnye resheniya stmt-original uslovie ai_checked dvadtsat pyat muzhchin sidyat vokrug kruglogo stola. kazhdyy chas prohodit golosovanie, i kazhdyy otvechaet «da» ili «net». na \\(n\\)-m golosovanii kazhdyy vedet sebya tak: esli ego otvet sovpadaet s otvetom hotya by odnogo iz dvuh sosedey, to na \\((n+1)\\)-m golosovanii on otvechaet tak zhe; esli zhe ego otvet otlichaetsya ot otvetov oboih sosedey, to na \\((n+1)\\)-m golosovanii on menyaet otvet. dokazhite, chto kakovy by ni byli otvety na pervom golosovanii, nastupit moment, posle kotorogo bolshe nichey otvet ne izmenitsya. stmt-graph stabilizatsiya 2-raskraski tsikla \\(c_{25}\\) ai_checked rassmotrim tsikl \\(c_{25}\\), vershiny kotorogo okrasheny v dva tsveta. za odin shag odnovremenno perekrashivayutsya rovno te vershiny, tsvet kotoryh otlichaetsya ot tsvetov oboih sosedey; ostalnye vershiny sohranyayut tsvet. dokazhite, chto dlya lyuboy nachalnoy 2-raskraski cherez konechnoe chislo shagov raskraska stanet nepodvizhnoy. cycle stmt-hint-odd-cycle-monotone-set ai_checked bolee obschaya forma s tem zhe dokazatelstvom: pust \\(n\\) nechetno, i na tsikle \\(c_n\\) zadana 2-raskraska. na kazhdom shage odnovremenno menyayut tsvet tolko izolirovannye po tsvetu vershiny, to est vershiny, otlichayuschiesya ot oboih sosedey. dokazhite stabilizatsiyu, rassmatrivaya mnozhestvo \\(a_t\\) vershin, u kotoryh v moment \\(t\\) est sosed togo zhe tsveta: eto mnozhestvo monotonno rastet, a na nechetnom tsikle ono iznachalno nepusto. cycle idea-monotone-agreeing-set monotonnoe mnozhestvo uzhe zakrepivshihsya vershin esli dve sosednie vershiny imeyut odinakovyy tsvet v nekotoryy moment, to obe sohranyayut svoi tsveta na sleduyuschem shage i snova ostayutsya odinakovymi. poetomu mnozhestvo vershin, u kotoryh est sosed togo zhe tsveta, tolko rasshiryaetsya. coloring induction ai_checked idea-odd-cycle-nonempty-start na nechetnom tsikle nelzya cheredovat dva tsveta esli by u kazhdoy vershiny oba soseda imeli protivopolozhnyy tsvet, tsveta dolzhny byli by strogo cheredovatsya po vsemu tsiklu. na tsikle nechetnoy dliny eto nevozmozhno, znachit uzhe v nachalnyy moment est sosednyaya para odnogo tsveta. coloring ai_checked sol-official-stabilizing-set reshenie cherez mnozhestvo uzhe zakrepivshihsya lyudey ai_checked cycle induction budem govorit, chto chelovek soglasen na \\(n\\)-m golosovanii, esli ego otvet na etom golosovanii sovpadaet s otvetom hotya by odnogo iz dvuh sosedey. snachala otmetim klyuchevoy fakt: esli dva soseda dali odinakovyy otvet na \\(n\\)-m golosovanii, to na \\((n+1)\\)-m golosovanii oba sohranyat svoi otvety, potomu chto kazhdyy iz nih imeet soseda s tem zhe otvetom. znachit, na sleduyuschem golosovanii eta para snova budet soglasnoy, i po induktsii oba cheloveka uzhe nikogda ne izmenyat otvet posle \\(n\\)-go golosovaniya. pust \\(a_n\\) — mnozhestvo lyudey, kotorye na \\(n\\)-m golosovanii soglasny hotya by s odnim iz svoih sosedey. iz predyduschego abzatsa sleduet, chto \\(a_n\\subseteq a_{n+1}\\) dlya vseh \\(n\\ge 1\\): popavshiy v \\(a_n\\) chelovek dalshe ne menyaet otvet i ostaetsya soglasnym s tem zhe sosedom. nam dostatochno dokazat, chto pri nekotorom \\(n\\) mnozhestvo \\(a_n\\) soderzhit vseh 25 lyudey, potomu chto togda kazhdyy imeet…","source_keys":["cmo"]}
{"id":"cmo-1995-p3-polygon-quadrangulation-boomerangs","title":"Бумеранги в разбиении выпуклого многоугольника на четырёхугольники, CMO 1995 P3","path":"data\\problems\\cmo\\cmo-1995-p3-polygon-quadrangulation-boomerangs.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-1995-p3-polygon-quadrangulation-boomerangs.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-1995-p3-polygon-quadrangulation-boomerangs","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 1995 официальные условия","Canadian Mathematical Olympiad 1995 официальные решения"],"year":"1995","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["planar_graphs","double_counting","goal_bound"],"agent_topics":[],"difficulty":{"main":"national_final_medium","local_score":7,"comment":"CMO 1995 P3: короткая, но не совсем автоматическая задача на двойной подсчёт углов; графовый вариант сводится к эйлерову подсчёту четырёхугольного разбиения и инъекции рефлексных углов во внутренние вершины.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Условие","status":"ai_checked","text":"Бумерангом назовём четырёхугольник, противоположные стороны которого не пересекаются и один из внутренних углов которого больше 180 градусов. Пусть \\(C\\) — выпуклый многоугольник с \\(s\\) сторонами. Предположим, что внутренняя область \\(C\\) является объединением \\(q\\) четырёхугольников с попарно непересекающимися внутренностями, причём \\(b\\) из этих четырёхугольников являются бумерангами. Докажите, что \\(q\\ge b+(s-2)/2\\).","definition_ids":[]}],"graph_hint_reformulations":[{"id":"stmt-graph-euler-hint","title":"Подсчёт вершин четырёхугольного разбиения","status":"ai_checked","text":"Пусть \\(I\\) — число внутренних вершин плоского графа разбиения, а \\(B\\) — число его вершин на границе выпуклого многоугольника. Докажите сначала формулу \\(q=I+B/2-1\\) для четырёхугольного разбиения, затем покажите, что разные бумеранги дают разные внутренние вершины с рефлексным углом. Так как \\(I\\ge b\\) и \\(B\\ge s\\), сразу получается \\(q\\ge b+(s-2)/2\\).","definition_ids":["planar_graph"]}]},"solutions":[{"id":"sol-official-angle-count","title":"Решение через сумму углов","status":"ai_checked","definition_ids":[],"standard_idea_ids":["double_counting"],"tags":[],"has_text":true,"text_preview":"Назовём угол бумеранга, больший \\(180^\\circ\\), рефлексным. У простого четырёхугольника сумма внутренних углов равна \\(360^\\circ\\), поэтому рефлексный угол у бумеранга ровно один: по определению он существует, а двух таких углов быть не может. Покажем, что вершины этих \\(b\\) рефлексных углов дают \\(b\\) различных внутренних вершин разбиения. Такая вершина не может быть вершиной исходного выпуклого многоугольника \\(C\\), потому что все его углы меньше \\(180^\\circ\\). Она также не может лежать внутри стороны \\(C\\): в этом случае весь четырёхугольник лежит по одну сторону от прямой, содержащей эту сторону, и угол части внутри \\(C\\) не превосходит \\(180^\\circ\\). Значит, вершина рефлексного угла является внутренней вершиной разбиения. Две разные рефлексные вершины не могут совпасть. Если бы в одной внутренней вершине разбиения встретились два угла, каждый больше \\(180^\\circ\\), то сумма углов при…"},{"id":"sol-euler-counting-variant","title":"Вариант через формулу Эйлера","status":"ai_checked","definition_ids":["planar_graph"],"standard_idea_ids":["double_counting","face_counting"],"tags":[],"has_text":true,"text_preview":"Пусть \\(I\\) — число внутренних вершин разбиения, а \\(B\\) — число вершин плоского графа разбиения на границе \\(C\\). Выведем нужную формулу, а не будем ссылаться на неё как на внешнюю лемму. Обозначим через \\(E\\) число рёбер этого плоского графа. Внутренних граней ровно \\(q\\), и каждая из них является четырёхугольником. Если сложить числа сторон всех внутренних граней, то каждое внутреннее ребро посчитается дважды, а каждое граничное ребро — один раз. Граничных рёбер ровно \\(B\\), поэтому \\[ 4q=2E-B. \\] С другой стороны, вместе с внешней гранью у графа \\(q+1\\) грань, а вершин \\(I+B\\). По формуле Эйлера \\[ (I+B)-E+(q+1)=2, \\] то есть \\(E=I+B+q-1\\). Подставляя это в равенство \\(4q=2E-B\\), получаем \\[ 4q=2(I+B+q-1)-B=2I+B+2q-2. \\] Следовательно, \\[ q=I+B/2-1. \\] Осталось связать эту формулу с бумерангами. Как в первом решении, рефлексный угол бумеранга не может лежать на границе выпуклого мно…"}],"relations":[{"id":"rel-putnam-2007-cmo-1995-planar-decomposition-euler-count","neighbor_id":"putnam-2007-a6-admissible-triangulation-bound","direction":"forward","type":"same_motif","distance":1,"status":"ai_checked"},{"id":"rel-quadrangulation-euler-count-cmo-1995-p3","neighbor_id":"quadrangulation-euler-face-count","direction":"backward","type":"prerequisite","distance":1,"status":"ai_checked"},{"id":"rel-planar-edge-bound-cmo-1995-p3-face-counting","neighbor_id":"planar-edge-bound","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-usamo-2024-triangulation-cmo-1995-quadrangulation","neighbor_id":"usamo-2024-p3-balanced-regular-polygon-triangulation","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"}],"search_text":"cmo-1995-p3-polygon-quadrangulation-boomerangs бумеранги в разбиении выпуклого многоугольника на четырёхугольники, cmo 1995 p3 planar_graphs double_counting goal_bound 1995 canadian mathematical olympiad 1995 официальные решения canadian mathematical olympiad 1995 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo1995 https://w7.cms.math.ca/competitions/cmo/archive/exam1995.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol1995.pdf solution_notes src-cmo-1995-official src-cmo-1995-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 1995 официальные условия canadian mathematical olympiad 1995 официальные решения stmt-original условие ai_checked бумерангом назовём четырёхугольник, противоположные стороны которого не пересекаются и один из внутренних углов которого больше 180 градусов. пусть \\(c\\) — выпуклый многоугольник с \\(s\\) сторонами. предположим, что внутренняя область \\(c\\) является объединением \\(q\\) четырёхугольников с попарно непересекающимися внутренностями, причём \\(b\\) из этих четырёхугольников являются бумерангами. докажите, что \\(q\\ge b+(s-2)/2\\). stmt-graph-euler-hint подсчёт вершин четырёхугольного разбиения ai_checked пусть \\(i\\) — число внутренних вершин плоского графа разбиения, а \\(b\\) — число его вершин на границе выпуклого многоугольника. докажите сначала формулу \\(q=i+b/2-1\\) для четырёхугольного разбиения, затем покажите, что разные бумеранги дают разные внутренние вершины с рефлексным углом. так как \\(i\\ge b\\) и \\(b\\ge s\\), сразу получается \\(q\\ge b+(s-2)/2\\). planar_graph idea-reflex-needs-interior каждый бумеранг даёт свою внутреннюю вершину рефлексный угол части, лежащей внутри выпуклого многоугольника, не может находиться в вершине исходного выпуклого многоугольника или на его стороне. в одной внутренней вершине не могут встретиться два угла, каждый больше \\(180^\\circ\\), потому что сумма углов вокруг такой вершины равна \\(360^\\circ\\). поэтому \\(b\\) бумерангов дают по крайней мере \\(b\\) различных внутренних вершин разбиения. planar_graphs double_counting ai_checked idea-angle-sum-lower-bound сумма углов всех частей уже достаточно велика граничные вершины разбиения дают вклад не меньше суммы углов исходного выпуклого \\(s\\)-угольника, то есть \\((s-2)\\pi\\), а вокруг каждой внутренней вершины, соответствующей бумерангу, появляется полный вклад \\(2\\pi\\). double_counting planar_graphs ai_checked idea-euler-count эйлеров подсчёт разбиения альтернативно, если в плоском графе четырёхугольного разбиения \\(i\\) внутренних и \\(b\\) граничных вершин, то из формулы эйлера и подсчёта сторон внутренних граней получается \\(q=i+b/2-1\\). это вынесено в отдельную классическую лемму. planar_graphs double_counting ai_checked sol-official-angle-count решение через сумму углов ai_checked double_counting назовём угол бумеранга, больший \\(180^\\circ\\), рефлексным. у простого четырёхугольника сумма внутренних углов равна \\(360^\\circ\\), поэтому рефлексный угол у бумеранга ровно один: по определению он существует, а двух таких углов быть не может. покажем, что вершины этих \\(b\\) рефлексных углов дают \\(b\\) различных внутренних вершин разбиения. такая вершина не может быть вершиной исходного выпуклого многоугольника \\(c\\), потому что все его углы меньше \\(180^\\circ\\). она также не может лежать внутри стороны \\(c\\): в этом случае весь четырёхугольник лежит по одну сторону от прямой, содержащей эту сторону, и угол части внутри \\(c\\) не превосходит \\(180^\\circ\\). значит, вершина рефлексного угла является внутренней вершиной разбиения. две разные рефлексные вершины не могут совпасть. если бы в одной внутренней вершине разбиения встретились два угла, каждый больше \\(180^\\circ\\), то сумма углов при… sol-euler-counting-variant вариант через формулу эйлера ai_checked planar_graph double_counting face_counting пусть \\(i\\) — число внутренних вершин разбиения, а \\(b\\) — число вершин плоского графа разбиения на границе \\(c\\). выведем нужную формулу, а не будем ссылаться на неё как на внешнюю лемму. обозначим через \\(e\\) число рёбер этого плоского графа. внутренних граней ровно \\(q\\), и каждая из них является четырёхугольником. если сложить числа сторон всех внутренних граней, то каждое внутреннее ребро посчитается дважды, а каждое граничное ребро — один раз. граничных рёбер ровно \\(b\\), поэтому \\[ 4q=2e-b. \\] с другой стороны, вместе с внешней гранью у графа \\(q+1\\) грань, а вершин \\(i+b\\). по формуле эйлера \\[ (i+b)-e+(q+1)=2, \\] то есть \\(e=i+b+q-1\\). подставляя это в равенство \\(4q=2e-b\\), получаем \\[ 4q=2(i+b+q-1)-b=2i+b+2q-2. \\] следовательно, \\[ q=i+b/2-1. \\] осталось связать эту формулу с бумерангами. как в первом решении, рефлексный угол бумеранга не может лежать на границе выпуклого мно… cmo-1995-p3-polygon-quadrangulation-boomerangs bumerangi v razbienii vypuklogo mnogougolnika na chetyrehugolniki, cmo 1995 p3 planar_graphs double_counting goal_bound 1995 canadian mathematical olympiad 1995 ofitsialnye resheniya canadian mathematical olympiad 1995 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo1995 https://w7.cms.math.ca/competitions/cmo/archive/exam1995.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol1995.pdf solution_notes src-cmo-1995-official src-cmo-1995-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 1995 ofitsialnye usloviya canadian mathematical olympiad 1995 ofitsialnye resheniya stmt-original uslovie ai_checked bumerangom nazovem chetyrehugolnik, protivopolozhnye storony kotorogo ne peresekayutsya i odin iz vnutrennih uglov kotorogo bolshe 180 gradusov. pust \\(c\\) — vypuklyy mnogougolnik s \\(s\\) storonami. predpolozhim, chto vnutrennyaya oblast \\(c\\) yavlyaetsya obedineniem \\(q\\) chetyrehugolnikov s poparno neperesekayuschimisya vnutrennostyami, prichem \\(b\\) iz etih chetyrehugolnikov yavlyayutsya bumerangami. dokazhite, chto \\(q\\ge b+(s-2)/2\\). stmt-graph-euler-hint podschet vershin chetyrehugolnogo razbieniya ai_checked pust \\(i\\) — chislo vnutrennih vershin ploskogo grafa razbieniya, a \\(b\\) — chislo ego vershin na granitse vypuklogo mnogougolnika. dokazhite snachala formulu \\(q=i+b/2-1\\) dlya chetyrehugolnogo razbieniya, zatem pokazhite, chto raznye bumerangi dayut raznye vnutrennie vershiny s refleksnym uglom. tak kak \\(i\\ge b\\) i \\(b\\ge s\\), srazu poluchaetsya \\(q\\ge b+(s-2)/2\\). planar_graph idea-reflex-needs-interior kazhdyy bumerang daet svoyu vnutrennyuyu vershinu refleksnyy ugol chasti, lezhaschey vnutri vypuklogo mnogougolnika, ne mozhet nahoditsya v vershine ishodnogo vypuklogo mnogougolnika ili na ego storone. v odnoy vnutrenney vershine ne mogut vstretitsya dva ugla, kazhdyy bolshe \\(180^\\circ\\), potomu chto summa uglov vokrug takoy vershiny ravna \\(360^\\circ\\). poetomu \\(b\\) bumerangov dayut po krayney mere \\(b\\) razlichnyh vnutrennih vershin razbieniya. planar_graphs double_counting ai_checked idea-angle-sum-lower-bound summa uglov vseh chastey uzhe dostatochno velika granichnye vershiny razbieniya dayut vklad ne menshe summy uglov ishodnogo vypuklogo \\(s\\)-ugolnika, to est \\((s-2)\\pi\\), a vokrug kazhdoy vnutrenney vershiny, sootvetstvuyuschey bumerangu, poyavlyaetsya polnyy vklad \\(2\\pi\\). double_counting planar_graphs ai_checked idea-euler-count eylerov podschet razbieniya alternativno, esli v ploskom grafe chetyrehugolnogo razbieniya \\(i\\) vnutrennih i \\(b\\) granichnyh vershin, to iz formuly eylera i podscheta storon vnutrennih graney poluchaetsya \\(q=i+b/2-1\\). eto vyneseno v otdelnuyu klassicheskuyu lemmu. planar_graphs double_counting ai_checked sol-official-angle-count reshenie cherez summu uglov ai_checked double_counting nazovem ugol bumeranga, bolshiy \\(180^\\circ\\), refleksnym. u prostogo chetyrehugolnika summa vnutrennih uglov ravna \\(360^\\circ\\), poetomu refleksnyy ugol u bumeranga rovno odin: po opredeleniyu on suschestvuet, a dvuh takih uglov byt ne mozhet. pokazhem, chto vershiny etih \\(b\\) refleksnyh uglov dayut \\(b\\) razlichnyh vnutrennih vershin razbieniya. takaya vershina ne mozhet byt vershinoy ishodnogo vypuklogo mnogougolnika \\(c\\), potomu chto vse ego ugly menshe \\(180^\\circ\\). ona takzhe ne mozhet lezhat vnutri storony \\(c\\): v etom sluchae ves chetyrehugolnik lezhit po odnu storonu ot pryamoy, soderzhaschey etu storonu, i ugol chasti vnutri \\(c\\) ne prevoshodit \\(180^\\circ\\). znachit, vershina refleksnogo ugla yavlyaetsya vnutrenney vershinoy razbieniya. dve raznye refleksnye vershiny ne mogut sovpast. esli by v odnoy vnutrenney vershine razbieniya vstretilis dva ugla, kazhdyy bolshe \\(180^\\circ\\), to summa uglov pri… sol-euler-counting-variant variant cherez formulu eylera ai_checked planar_graph double_counting face_counting pust \\(i\\) — chislo vnutrennih vershin razbieniya, a \\(b\\) — chislo vershin ploskogo grafa razbieniya na granitse \\(c\\). vyvedem nuzhnuyu formulu, a ne budem ssylatsya na nee kak na vneshnyuyu lemmu. oboznachim cherez \\(e\\) chislo reber etogo ploskogo grafa. vnutrennih graney rovno \\(q\\), i kazhdaya iz nih yavlyaetsya chetyrehugolnikom. esli slozhit chisla storon vseh vnutrennih graney, to kazhdoe vnutrennee rebro poschitaetsya dvazhdy, a kazhdoe granichnoe rebro — odin raz. granichnyh reber rovno \\(b\\), poetomu \\[ 4q=2e-b. \\] s drugoy storony, vmeste s vneshney granyu u grafa \\(q+1\\) gran, a vershin \\(i+b\\). po formule eylera \\[ (i+b)-e+(q+1)=2, \\] to est \\(e=i+b+q-1\\). podstavlyaya eto v ravenstvo \\(4q=2e-b\\), poluchaem \\[ 4q=2(i+b+q-1)-b=2i+b+2q-2. \\] sledovatelno, \\[ q=i+b/2-1. \\] ostalos svyazat etu formulu s bumerangami. kak v pervom reshenii, refleksnyy ugol bumeranga ne mozhet lezhat na granitse vypuklogo mno…","source_keys":["cmo"]}
{"id":"cmo-1996-p3-permutation-step-two-mod3","title":"Гамильтоновы пути в квадрате пути, CMO 1996 P3","path":"data\\problems\\cmo\\cmo-1996-p3-permutation-step-two-mod3.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-1996-p3-permutation-step-two-mod3.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-1996-p3-permutation-step-two-mod3","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 1996 официальные условия","Canadian Mathematical Olympiad 1996 официальные решения"],"year":"1996","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["hamiltonian_cycles","induction","goal_counting"],"agent_topics":[],"difficulty":{"main":"national_final_medium","local_score":9,"comment":"CMO 1996 P3; задача эквивалентна подсчёту гамильтоновых путей в квадрате пути.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Условие","status":"ai_checked","text":"Обозначим произвольную перестановку чисел \\(1,\\ldots,n\\) через \\(a_1,\\ldots,a_n\\). Пусть \\(f(n)\\) — число таких перестановок, что \\(a_1=1\\) и \\(|a_i-a_{i+1}|\\le 2\\) для \\(i=1,\\ldots,n-1\\). Определите, делится ли \\(f(1996)\\) на 3.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Гамильтоновы пути в квадрате пути","status":"ai_checked","text":"Пусть \\(P_n^2\\) — квадрат пути на вершинах \\(1,2,\\ldots,n\\): вершины \\(i,j\\) смежны, если \\(|i-j|\\le2\\). Пусть \\(f(n)\\) — число гамильтоновых путей в \\(P_n^2\\), начинающихся в вершине 1. Определите, делится ли \\(f(1996)\\) на 3.","definition_ids":["path","hamiltonian_path"]}]},"solutions":[{"id":"sol-official-recurrence","title":"Решение через рекурсию по первому чётному члену","status":"ai_checked","definition_ids":["path","hamiltonian_path"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Пусть \\(a_1,\\ldots,a_n\\) — допустимая перестановка. Важное наблюдение: если соседние члены \\(a_k,a_{k+1}\\) являются последовательными целыми числами, то все члены справа от \\(a_{k+1}\\) должны быть либо меньше обоих этих чисел, либо больше обоих; иначе при дальнейшем движении пришлось бы перескочить через эту пару с разностью больше 2. Так как \\(a_1=1\\), имеем \\(a_2=2\\) или \\(a_2=3\\). Если \\(a_2=2\\), то хвост \\(a_2,a_3,\\ldots,a_n\\), после сдвига меток, устроен как допустимая перестановка длины \\(n-1\\). Это даёт \\(f(n-1)\\) вариантов. Пусть \\(a_2=3\\). Если \\(a_3=2\\), то оставшийся хвост состоит из чисел \\(4,\\ldots,n\\), начинается с 4 и даёт \\(f(n-3)\\) вариантов. Если же \\(a_3\\ge 4\\), рассмотрим первый чётный член \\(a_{k+1}\\). Тогда перед ним обязаны идти нечётные числа \\(1,3,5,\\ldots,2k-1\\) именно в таком порядке, а \\(a_{k+1}\\) равно \\(2k\\) или \\(2k-2\\). Пара \\(a_k,a_{k+1}\\) последовательн…"}],"relations":[{"id":"rel-consecutive-pair-barrier-cmo-1996-p3","neighbor_id":"consecutive-pair-barrier-step-two-permutation","direction":"backward","type":"prerequisite","distance":1,"status":"ai_checked"},{"id":"rel-cmo-1996-p3-cmo-2026-p3-hamiltonian-path-counting","neighbor_id":"cmo-2026-p3-grid-hamiltonian-snail","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"}],"search_text":"cmo-1996-p3-permutation-step-two-mod3 гамильтоновы пути в квадрате пути, cmo 1996 p3 hamiltonian_cycles induction goal_counting 1996 canadian mathematical olympiad 1996 официальные решения canadian mathematical olympiad 1996 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo1996 https://w7.cms.math.ca/competitions/cmo/archive/exam1996.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol1996.pdf solution_notes src-cmo-1996-official src-cmo-1996-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 1996 официальные условия canadian mathematical olympiad 1996 официальные решения stmt-original условие ai_checked обозначим произвольную перестановку чисел \\(1,\\ldots,n\\) через \\(a_1,\\ldots,a_n\\). пусть \\(f(n)\\) — число таких перестановок, что \\(a_1=1\\) и \\(|a_i-a_{i+1}|\\le 2\\) для \\(i=1,\\ldots,n-1\\). определите, делится ли \\(f(1996)\\) на 3. stmt-graph гамильтоновы пути в квадрате пути ai_checked пусть \\(p_n^2\\) — квадрат пути на вершинах \\(1,2,\\ldots,n\\): вершины \\(i,j\\) смежны, если \\(|i-j|\\le2\\). пусть \\(f(n)\\) — число гамильтоновых путей в \\(p_n^2\\), начинающихся в вершине 1. определите, делится ли \\(f(1996)\\) на 3. path hamiltonian_path idea-first-steps первые шаги задают рекурсию из \\(a_1=1\\) следует \\(a_2=2\\) или \\(a_2=3\\). первый случай даёт \\(f(n-1)\\), второй распадается на подслучай \\(1,3,2\\) и один специальный зигзаг. induction ai_checked idea-period-mod3 период по модулю 3 после рекурсии f(n)=f(n-1)+f(n-3)+1 достаточно вычислить несколько значений по модулю 3 и заметить период 8. induction ai_checked sol-official-recurrence решение через рекурсию по первому чётному члену ai_checked path hamiltonian_path пусть \\(a_1,\\ldots,a_n\\) — допустимая перестановка. важное наблюдение: если соседние члены \\(a_k,a_{k+1}\\) являются последовательными целыми числами, то все члены справа от \\(a_{k+1}\\) должны быть либо меньше обоих этих чисел, либо больше обоих; иначе при дальнейшем движении пришлось бы перескочить через эту пару с разностью больше 2. так как \\(a_1=1\\), имеем \\(a_2=2\\) или \\(a_2=3\\). если \\(a_2=2\\), то хвост \\(a_2,a_3,\\ldots,a_n\\), после сдвига меток, устроен как допустимая перестановка длины \\(n-1\\). это даёт \\(f(n-1)\\) вариантов. пусть \\(a_2=3\\). если \\(a_3=2\\), то оставшийся хвост состоит из чисел \\(4,\\ldots,n\\), начинается с 4 и даёт \\(f(n-3)\\) вариантов. если же \\(a_3\\ge 4\\), рассмотрим первый чётный член \\(a_{k+1}\\). тогда перед ним обязаны идти нечётные числа \\(1,3,5,\\ldots,2k-1\\) именно в таком порядке, а \\(a_{k+1}\\) равно \\(2k\\) или \\(2k-2\\). пара \\(a_k,a_{k+1}\\) последовательн… cmo-1996-p3-permutation-step-two-mod3 gamiltonovy puti v kvadrate puti, cmo 1996 p3 hamiltonian_cycles induction goal_counting 1996 canadian mathematical olympiad 1996 ofitsialnye resheniya canadian mathematical olympiad 1996 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo1996 https://w7.cms.math.ca/competitions/cmo/archive/exam1996.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol1996.pdf solution_notes src-cmo-1996-official src-cmo-1996-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 1996 ofitsialnye usloviya canadian mathematical olympiad 1996 ofitsialnye resheniya stmt-original uslovie ai_checked oboznachim proizvolnuyu perestanovku chisel \\(1,\\ldots,n\\) cherez \\(a_1,\\ldots,a_n\\). pust \\(f(n)\\) — chislo takih perestanovok, chto \\(a_1=1\\) i \\(|a_i-a_{i+1}|\\le 2\\) dlya \\(i=1,\\ldots,n-1\\). opredelite, delitsya li \\(f(1996)\\) na 3. stmt-graph gamiltonovy puti v kvadrate puti ai_checked pust \\(p_n^2\\) — kvadrat puti na vershinah \\(1,2,\\ldots,n\\): vershiny \\(i,j\\) smezhny, esli \\(|i-j|\\le2\\). pust \\(f(n)\\) — chislo gamiltonovyh putey v \\(p_n^2\\), nachinayuschihsya v vershine 1. opredelite, delitsya li \\(f(1996)\\) na 3. path hamiltonian_path idea-first-steps pervye shagi zadayut rekursiyu iz \\(a_1=1\\) sleduet \\(a_2=2\\) ili \\(a_2=3\\). pervyy sluchay daet \\(f(n-1)\\), vtoroy raspadaetsya na podsluchay \\(1,3,2\\) i odin spetsialnyy zigzag. induction ai_checked idea-period-mod3 period po modulyu 3 posle rekursii f(n)=f(n-1)+f(n-3)+1 dostatochno vychislit neskolko znacheniy po modulyu 3 i zametit period 8. induction ai_checked sol-official-recurrence reshenie cherez rekursiyu po pervomu chetnomu chlenu ai_checked path hamiltonian_path pust \\(a_1,\\ldots,a_n\\) — dopustimaya perestanovka. vazhnoe nablyudenie: esli sosednie chleny \\(a_k,a_{k+1}\\) yavlyayutsya posledovatelnymi tselymi chislami, to vse chleny sprava ot \\(a_{k+1}\\) dolzhny byt libo menshe oboih etih chisel, libo bolshe oboih; inache pri dalneyshem dvizhenii prishlos by pereskochit cherez etu paru s raznostyu bolshe 2. tak kak \\(a_1=1\\), imeem \\(a_2=2\\) ili \\(a_2=3\\). esli \\(a_2=2\\), to hvost \\(a_2,a_3,\\ldots,a_n\\), posle sdviga metok, ustroen kak dopustimaya perestanovka dliny \\(n-1\\). eto daet \\(f(n-1)\\) variantov. pust \\(a_2=3\\). esli \\(a_3=2\\), to ostavshiysya hvost sostoit iz chisel \\(4,\\ldots,n\\), nachinaetsya s 4 i daet \\(f(n-3)\\) variantov. esli zhe \\(a_3\\ge 4\\), rassmotrim pervyy chetnyy chlen \\(a_{k+1}\\). togda pered nim obyazany idti nechetnye chisla \\(1,3,5,\\ldots,2k-1\\) imenno v takom poryadke, a \\(a_{k+1}\\) ravno \\(2k\\) ili \\(2k-2\\). para \\(a_k,a_{k+1}\\) posledovateln…","source_keys":["cmo"]}
{"id":"cmo-2004-p2-rooks-same-colour","title":"Одноцветные расстановки ладей на доске \\(9\\times9\\), CMO 2004 P2","path":"data\\problems\\cmo\\cmo-2004-p2-rooks-same-colour.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2004-p2-rooks-same-colour.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2004-p2-rooks-same-colour","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2004 официальные условия","Canadian Mathematical Olympiad 2004 официальные решения"],"year":"2004","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["matching","goal_counting"],"agent_topics":[],"difficulty":{"main":"national_final_easy","local_score":6,"comment":"CMO 2004 P2; короткая задача на точный счёт паросочетаний после разбиения доски по цвету и чётности строк/столбцов.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Условие","status":"ai_checked","text":"Сколькими способами можно поставить 8 попарно не бьющих друг друга ладей на доску 9x9 так, чтобы все 8 ладей стояли на клетках одного цвета? Две ладьи бьют друг друга, если стоят в одной строке или в одном столбце.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Монохроматические паросочетания в раскрашенном \\(K_{9,9}\\)","status":"ai_checked","text":"В полном двудольном графе \\(K_{9,9}\\) с долями \\(\\{1,\\ldots,9\\}\\) и \\(\\{1,\\ldots,9\\}\\) ребро \\(ij\\) имеет цвет, заданный чётностью \\(i+j\\). Найдите суммарное число паросочетаний размера \\(8\\), все рёбра которых имеют один цвет.","definition_ids":["bipartite_graph","matching"]}]},"solutions":[{"id":"sol-official-parity","title":"Решение через два цветовых разбиения","status":"ai_checked","definition_ids":["matching","bipartite_graph"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Считаем отдельно чёрные и белые клетки. Пронумеруем строки и столбцы числами от 1 до 9. Для чёрных клеток нечётные строки с нечётными столбцами образуют блок 5x5, а чётные строки с чётными столбцами — блок 4x4. Ладьи из разных блоков не конфликтуют, потому что у них различаются и чётности строк, и чётности столбцов. Полная расстановка 9 ладей на все строки и все столбцы этих двух чёрных блоков выбирается независимо: 5! способов в блоке 5x5 и 4! способов в блоке 4x4, всего 5!4!. Из каждой такой полной расстановки можно удалить любую из 9 ладей. Обратно, всякая расстановка 8 ладей на чёрных клетках единственным образом достраивается до такой полной расстановки: если в блоке 5x5 стоит 5 ладей, то в блоке 4x4 свободны ровно одна строка и один столбец; если в блоке 4x4 стоит 4 ладьи, то в блоке 5x5 свободны ровно одна строка и один столбец. Значит, чёрных расстановок 9·5!4!. Для белых клеток…"}],"relations":[{"id":"rel-cmo-2004-p2-cmo-1973-p4-bipartite-matching-count","neighbor_id":"cmo-1973-p4-triangulated-nonagon-labelings","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2004-p2-usamo-2022-p1-colored-rook-matching","neighbor_id":"usamo-2022-p1-amber-bronze-transversal","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2004-p2-imo-2010-c2-one-color-matching","neighbor_id":"imo-2010-c2-flags-diagonal-matching","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-edge-count-bound-cmo-2004-rooks-matching","neighbor_id":"edge-count-bipartite-matching-bound","direction":"backward","type":"same_motif","distance":3,"status":"needs_human_review"}],"search_text":"cmo-2004-p2-rooks-same-colour одноцветные расстановки ладей на доске \\(9\\times9\\), cmo 2004 p2 matching goal_counting 2004 canadian mathematical olympiad 2004 официальные решения canadian mathematical olympiad 2004 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2004 https://w7.cms.math.ca/competitions/cmo/archive/exam2004.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2004.pdf solution_notes src-cmo-2004-official src-cmo-2004-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2004 официальные условия canadian mathematical olympiad 2004 официальные решения stmt-original условие ai_checked сколькими способами можно поставить 8 попарно не бьющих друг друга ладей на доску 9x9 так, чтобы все 8 ладей стояли на клетках одного цвета? две ладьи бьют друг друга, если стоят в одной строке или в одном столбце. stmt-graph монохроматические паросочетания в раскрашенном \\(k_{9,9}\\) ai_checked в полном двудольном графе \\(k_{9,9}\\) с долями \\(\\{1,\\ldots,9\\}\\) и \\(\\{1,\\ldots,9\\}\\) ребро \\(ij\\) имеет цвет, заданный чётностью \\(i+j\\). найдите суммарное число паросочетаний размера \\(8\\), все рёбра которых имеют один цвет. bipartite_graph matching idea-parity-components цвет распадается по чётности строк и столбцов клетки одного цвета разбиваются на независимые прямоугольные блоки по чётности строки и столбца; ладьи в разных блоках не конфликтуют. matching goal_counting ai_checked sol-official-parity решение через два цветовых разбиения ai_checked matching bipartite_graph считаем отдельно чёрные и белые клетки. пронумеруем строки и столбцы числами от 1 до 9. для чёрных клеток нечётные строки с нечётными столбцами образуют блок 5x5, а чётные строки с чётными столбцами — блок 4x4. ладьи из разных блоков не конфликтуют, потому что у них различаются и чётности строк, и чётности столбцов. полная расстановка 9 ладей на все строки и все столбцы этих двух чёрных блоков выбирается независимо: 5! способов в блоке 5x5 и 4! способов в блоке 4x4, всего 5!4!. из каждой такой полной расстановки можно удалить любую из 9 ладей. обратно, всякая расстановка 8 ладей на чёрных клетках единственным образом достраивается до такой полной расстановки: если в блоке 5x5 стоит 5 ладей, то в блоке 4x4 свободны ровно одна строка и один столбец; если в блоке 4x4 стоит 4 ладьи, то в блоке 5x5 свободны ровно одна строка и один столбец. значит, чёрных расстановок 9·5!4!. для белых клеток… cmo-2004-p2-rooks-same-colour odnotsvetnye rasstanovki ladey na doske \\(9\\times9\\), cmo 2004 p2 matching goal_counting 2004 canadian mathematical olympiad 2004 ofitsialnye resheniya canadian mathematical olympiad 2004 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2004 https://w7.cms.math.ca/competitions/cmo/archive/exam2004.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2004.pdf solution_notes src-cmo-2004-official src-cmo-2004-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2004 ofitsialnye usloviya canadian mathematical olympiad 2004 ofitsialnye resheniya stmt-original uslovie ai_checked skolkimi sposobami mozhno postavit 8 poparno ne byuschih drug druga ladey na dosku 9x9 tak, chtoby vse 8 ladey stoyali na kletkah odnogo tsveta? dve ladi byut drug druga, esli stoyat v odnoy stroke ili v odnom stolbtse. stmt-graph monohromaticheskie parosochetaniya v raskrashennom \\(k_{9,9}\\) ai_checked v polnom dvudolnom grafe \\(k_{9,9}\\) s dolyami \\(\\{1,\\ldots,9\\}\\) i \\(\\{1,\\ldots,9\\}\\) rebro \\(ij\\) imeet tsvet, zadannyy chetnostyu \\(i+j\\). naydite summarnoe chislo parosochetaniy razmera \\(8\\), vse rebra kotoryh imeyut odin tsvet. bipartite_graph matching idea-parity-components tsvet raspadaetsya po chetnosti strok i stolbtsov kletki odnogo tsveta razbivayutsya na nezavisimye pryamougolnye bloki po chetnosti stroki i stolbtsa; ladi v raznyh blokah ne konfliktuyut. matching goal_counting ai_checked sol-official-parity reshenie cherez dva tsvetovyh razbieniya ai_checked matching bipartite_graph schitaem otdelno chernye i belye kletki. pronumeruem stroki i stolbtsy chislami ot 1 do 9. dlya chernyh kletok nechetnye stroki s nechetnymi stolbtsami obrazuyut blok 5x5, a chetnye stroki s chetnymi stolbtsami — blok 4x4. ladi iz raznyh blokov ne konfliktuyut, potomu chto u nih razlichayutsya i chetnosti strok, i chetnosti stolbtsov. polnaya rasstanovka 9 ladey na vse stroki i vse stolbtsy etih dvuh chernyh blokov vybiraetsya nezavisimo: 5! sposobov v bloke 5x5 i 4! sposobov v bloke 4x4, vsego 5!4!. iz kazhdoy takoy polnoy rasstanovki mozhno udalit lyubuyu iz 9 ladey. obratno, vsyakaya rasstanovka 8 ladey na chernyh kletkah edinstvennym obrazom dostraivaetsya do takoy polnoy rasstanovki: esli v bloke 5x5 stoit 5 ladey, to v bloke 4x4 svobodny rovno odna stroka i odin stolbets; esli v bloke 4x4 stoit 4 ladi, to v bloke 5x5 svobodny rovno odna stroka i odin stolbets. znachit, chernyh rasstanovok 9·5!4!. dlya belyh kletok…","source_keys":["cmo"]}
{"id":"cmo-2005-p1-triangular-grid-paths","title":"Простые нисходящие пути в треугольной решётке, CMO 2005 P1","path":"data\\problems\\cmo\\cmo-2005-p1-triangular-grid-paths.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2005-p1-triangular-grid-paths.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2005-p1-triangular-grid-paths","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2005 официальные условия","Canadian Mathematical Olympiad 2005 официальные решения"],"year":"2005","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["goal_counting","planar_graphs"],"agent_topics":[],"difficulty":{"main":"national_final_easy","local_score":5,"comment":"CMO 2005 P1; короткая задача на биективное кодирование монотонных путей в треугольной решетке и прямое применение правила произведения.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Условие","status":"ai_checked","text":"Равносторонний треугольник со стороной \\(n\\) разбит на единичные треугольники. Пусть \\(f(n)\\) - число путей от треугольника в верхнем ряду до среднего треугольника в нижнем ряду таких, что соседние треугольники пути имеют общую сторону, путь никогда не идет вверх, то есть из более низкого ряда в более высокий, и не посещает треугольник повторно. Найдите \\(f(2005)\\).","definition_ids":["path"]}],"graph_theory":[{"id":"stmt-graph","title":"Простые нисходящие пути в треугольной решётке","status":"ai_checked","text":"Пусть вершины графа - единичные треугольники в разбиении равностороннего треугольника со стороной \\(n\\), а две вершины соединены ребром тогда и только тогда, когда соответствующие единичные треугольники имеют общую сторону. Ряды нумеруются сверху вниз; верхний ряд состоит из одной вершины, а нижний ряд - из \\(2n-1\\) вершин, среди которых есть единственная средняя. Обозначим через \\(f(n)\\) число простых путей от верхней вершины к средней вершине нижнего ряда, в которых каждый следующий шаг остается в том же ряду или переходит в следующий более низкий ряд. Найдите \\(f(2005)\\).","definition_ids":["path"]}],"graph_hint_reformulations":[{"id":"stmt-graph-hint-crossings","title":"","status":"ai_checked","text":"В той же графовой модели рассмотрите \\(n-1\\) горизонтальных границ между соседними рядами. Докажите, что любой допустимый путь пересекает каждую такую границу ровно один раз, а затем закодируйте путь выбором одного из \\(k\\) единичных отрезков на \\(k\\)-й границе.","definition_ids":["path"]}]},"solutions":[{"id":"sol-official-crossings","title":"Решение через горизонтальные линии","status":"ai_checked","definition_ids":["path"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Проведем горизонтальные линии, отделяющие соседние ряды единичных треугольников, и обозначим их сверху вниз через \\(l_1,l_2,\\ldots,l_{n-1}\\). Линия \\(l_k\\) отделяет первые \\(k\\) рядов от оставшейся части большого треугольника. Диагональные стороны разбиения делят ее ровно на \\(k\\) единичных отрезков. Рассмотрим допустимый путь. Он начинается в единственном верхнем треугольнике и заканчивается в нижнем ряду. Чтобы попасть из верхней части под линию \\(l_k\\), путь должен хотя бы один раз пересечь \\(l_k\\). С другой стороны, движение вверх запрещено, поэтому после перехода из \\(k\\)-го ряда в \\((k+1)\\)-й путь уже не может снова оказаться выше \\(l_k\\). Значит, каждая линия \\(l_k\\) пересекается ровно один раз. Это пересечение происходит по одному из \\(k\\) единичных отрезков линии \\(l_k\\). Теперь покажем, что набор выбранных отрезков действительно однозначно задает путь. Если для каждой линии \\(…"}],"relations":[{"id":"rel-cmo-2005-p1-cmo-1977-grid-path-encoding","neighbor_id":"cmo-1977-p7-rectangular-city-self-avoiding-paths","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2005-p1-cmo-1979-self-avoiding-path-counting","neighbor_id":"cmo-1979-p5-square-lattice-self-avoiding-walks","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2005-p1-cmo-2008-rook-walks","neighbor_id":"cmo-2008-p5-self-avoiding-rook-walks","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-imc-2018-frog-cmo-2005-lattice-paths","neighbor_id":"imc-2018-day2-p8-frog-lattice-paths","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"}],"search_text":"cmo-2005-p1-triangular-grid-paths простые нисходящие пути в треугольной решётке, cmo 2005 p1 goal_counting planar_graphs 2005 canadian mathematical olympiad 2005 официальные решения canadian mathematical olympiad 2005 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2005 https://w7.cms.math.ca/competitions/cmo/archive/exam2005.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2005.pdf solution_notes src-cmo-2005-official src-cmo-2005-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2005 официальные условия canadian mathematical olympiad 2005 официальные решения stmt-original условие ai_checked равносторонний треугольник со стороной \\(n\\) разбит на единичные треугольники. пусть \\(f(n)\\) - число путей от треугольника в верхнем ряду до среднего треугольника в нижнем ряду таких, что соседние треугольники пути имеют общую сторону, путь никогда не идет вверх, то есть из более низкого ряда в более высокий, и не посещает треугольник повторно. найдите \\(f(2005)\\). path stmt-graph простые нисходящие пути в треугольной решётке ai_checked пусть вершины графа - единичные треугольники в разбиении равностороннего треугольника со стороной \\(n\\), а две вершины соединены ребром тогда и только тогда, когда соответствующие единичные треугольники имеют общую сторону. ряды нумеруются сверху вниз; верхний ряд состоит из одной вершины, а нижний ряд - из \\(2n-1\\) вершин, среди которых есть единственная средняя. обозначим через \\(f(n)\\) число простых путей от верхней вершины к средней вершине нижнего ряда, в которых каждый следующий шаг остается в том же ряду или переходит в следующий более низкий ряд. найдите \\(f(2005)\\). path stmt-graph-hint-crossings ai_checked в той же графовой модели рассмотрите \\(n-1\\) горизонтальных границ между соседними рядами. докажите, что любой допустимый путь пересекает каждую такую границу ровно один раз, а затем закодируйте путь выбором одного из \\(k\\) единичных отрезков на \\(k\\)-й границе. path idea-cross-lines выбор пересечений горизонтальных уровней путь обязан ровно один раз пересечь каждую из \\(n-1\\) горизонтальных линий между соседними рядами. на \\(k\\)-й такой линии есть ровно \\(k\\) возможных единичных отрезков пересечения, и независимый выбор этих отрезков восстанавливает единственный путь. goal_counting ai_checked sol-official-crossings решение через горизонтальные линии ai_checked path проведем горизонтальные линии, отделяющие соседние ряды единичных треугольников, и обозначим их сверху вниз через \\(l_1,l_2,\\ldots,l_{n-1}\\). линия \\(l_k\\) отделяет первые \\(k\\) рядов от оставшейся части большого треугольника. диагональные стороны разбиения делят ее ровно на \\(k\\) единичных отрезков. рассмотрим допустимый путь. он начинается в единственном верхнем треугольнике и заканчивается в нижнем ряду. чтобы попасть из верхней части под линию \\(l_k\\), путь должен хотя бы один раз пересечь \\(l_k\\). с другой стороны, движение вверх запрещено, поэтому после перехода из \\(k\\)-го ряда в \\((k+1)\\)-й путь уже не может снова оказаться выше \\(l_k\\). значит, каждая линия \\(l_k\\) пересекается ровно один раз. это пересечение происходит по одному из \\(k\\) единичных отрезков линии \\(l_k\\). теперь покажем, что набор выбранных отрезков действительно однозначно задает путь. если для каждой линии \\(… cmo-2005-p1-triangular-grid-paths prostye nishodyaschie puti v treugolnoy reshetke, cmo 2005 p1 goal_counting planar_graphs 2005 canadian mathematical olympiad 2005 ofitsialnye resheniya canadian mathematical olympiad 2005 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2005 https://w7.cms.math.ca/competitions/cmo/archive/exam2005.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2005.pdf solution_notes src-cmo-2005-official src-cmo-2005-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2005 ofitsialnye usloviya canadian mathematical olympiad 2005 ofitsialnye resheniya stmt-original uslovie ai_checked ravnostoronniy treugolnik so storonoy \\(n\\) razbit na edinichnye treugolniki. pust \\(f(n)\\) - chislo putey ot treugolnika v verhnem ryadu do srednego treugolnika v nizhnem ryadu takih, chto sosednie treugolniki puti imeyut obschuyu storonu, put nikogda ne idet vverh, to est iz bolee nizkogo ryada v bolee vysokiy, i ne poseschaet treugolnik povtorno. naydite \\(f(2005)\\). path stmt-graph prostye nishodyaschie puti v treugolnoy reshetke ai_checked pust vershiny grafa - edinichnye treugolniki v razbienii ravnostoronnego treugolnika so storonoy \\(n\\), a dve vershiny soedineny rebrom togda i tolko togda, kogda sootvetstvuyuschie edinichnye treugolniki imeyut obschuyu storonu. ryady numeruyutsya sverhu vniz; verhniy ryad sostoit iz odnoy vershiny, a nizhniy ryad - iz \\(2n-1\\) vershin, sredi kotoryh est edinstvennaya srednyaya. oboznachim cherez \\(f(n)\\) chislo prostyh putey ot verhney vershiny k sredney vershine nizhnego ryada, v kotoryh kazhdyy sleduyuschiy shag ostaetsya v tom zhe ryadu ili perehodit v sleduyuschiy bolee nizkiy ryad. naydite \\(f(2005)\\). path stmt-graph-hint-crossings ai_checked v toy zhe grafovoy modeli rassmotrite \\(n-1\\) gorizontalnyh granits mezhdu sosednimi ryadami. dokazhite, chto lyuboy dopustimyy put peresekaet kazhduyu takuyu granitsu rovno odin raz, a zatem zakodiruyte put vyborom odnogo iz \\(k\\) edinichnyh otrezkov na \\(k\\)-y granitse. path idea-cross-lines vybor peresecheniy gorizontalnyh urovney put obyazan rovno odin raz peresech kazhduyu iz \\(n-1\\) gorizontalnyh liniy mezhdu sosednimi ryadami. na \\(k\\)-y takoy linii est rovno \\(k\\) vozmozhnyh edinichnyh otrezkov peresecheniya, i nezavisimyy vybor etih otrezkov vosstanavlivaet edinstvennyy put. goal_counting ai_checked sol-official-crossings reshenie cherez gorizontalnye linii ai_checked path provedem gorizontalnye linii, otdelyayuschie sosednie ryady edinichnyh treugolnikov, i oboznachim ih sverhu vniz cherez \\(l_1,l_2,\\ldots,l_{n-1}\\). liniya \\(l_k\\) otdelyaet pervye \\(k\\) ryadov ot ostavsheysya chasti bolshogo treugolnika. diagonalnye storony razbieniya delyat ee rovno na \\(k\\) edinichnyh otrezkov. rassmotrim dopustimyy put. on nachinaetsya v edinstvennom verhnem treugolnike i zakanchivaetsya v nizhnem ryadu. chtoby popast iz verhney chasti pod liniyu \\(l_k\\), put dolzhen hotya by odin raz peresech \\(l_k\\). s drugoy storony, dvizhenie vverh zaprescheno, poetomu posle perehoda iz \\(k\\)-go ryada v \\((k+1)\\)-y put uzhe ne mozhet snova okazatsya vyshe \\(l_k\\). znachit, kazhdaya liniya \\(l_k\\) peresekaetsya rovno odin raz. eto peresechenie proishodit po odnomu iz \\(k\\) edinichnyh otrezkov linii \\(l_k\\). teper pokazhem, chto nabor vybrannyh otrezkov deystvitelno odnoznachno zadaet put. esli dlya kazhdoy linii \\(…","source_keys":["cmo"]}
{"id":"cmo-2006-p4-cycle-triplets-tournament","title":"Циклические тройки в турнире, CMO 2006 P4","path":"data\\problems\\cmo\\cmo-2006-p4-cycle-triplets-tournament.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2006-p4-cycle-triplets-tournament.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2006-p4-cycle-triplets-tournament","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2006 официальные условия","Canadian Mathematical Olympiad 2006 официальные решения"],"year":"2006","type":"olympiad_problem","authors":[],"tags":["tournaments","extremal_graph_theory","double_counting","goal_exact_bound"],"agent_topics":[],"difficulty":{"main":"national_final_medium","local_score":8,"comment":"CMO 2006 P4: средняя финальная задача на перевод кругового турнира в турнир, подсчет транзитивных троек по исходящим степеням и регулярную конструкцию.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Официальная формулировка","status":"ai_checked","text":"В круговом турнире участвуют \\(2n+1\\) команд, где каждая команда играет с каждой другой командой ровно один раз; ничьих нет. Скажем, что три команды \\(X,Y,Z\\) образуют циклическую тройку, если \\(X\\) побеждает \\(Y\\), \\(Y\\) побеждает \\(Z\\), а \\(Z\\) побеждает \\(X\\). Найдите минимально возможное и максимально возможное число циклических троек.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Циклические тройки в турнире","status":"ai_checked","text":"Пусть \\(T\\) — турнир на \\(2n+1\\) вершинах, то есть ориентация полного графа, в которой между любыми двумя различными вершинами проведена ровно одна дуга. Определите минимально возможное и максимально возможное число направленных циклов длины \\(3\\) в таком турнире.","definition_ids":["tournament","directed_graph","cycle","complete_graph"]}],"graph_hint_reformulations":[{"id":"stmt-degree-hint","title":"Формулировка через исходящие степени","status":"ai_checked","text":"Пусть \\(x_v\\) — исходящая степень вершины \\(v\\) турнира на \\(2n+1\\) вершинах. Каждая тройка вершин либо является направленным циклом, либо имеет вершину, из которой выходят две дуги внутри этой тройки. Поэтому число нециклических троек равно \\(\\sum_v \\binom{x_v}{2}\\). Максимум числа направленных \\(3\\)-циклов получается при минимизации этой суммы при условии \\(\\sum_v x_v=\\binom{2n+1}{2}\\).","definition_ids":["tournament","outdegree","cycle"]}]},"solutions":[{"id":"sol-official-degree-count","title":"Подсчет транзитивных троек по исходящим степеням","status":"ai_checked","definition_ids":["tournament","outdegree"],"standard_idea_ids":["double_counting"],"tags":[],"has_text":true,"text_preview":"Ответ: минимум равен \\(0\\), максимум равен \\[ \\frac{n(n+1)(2n+1)}6. \\] Сначала докажем минимум. Пронумеруем команды \\(T_1,T_2,\\ldots,T_{2n+1}\\) и пусть команда с большим номером всегда побеждает команду с меньшим номером. Тогда в любой тройке команд есть самая большая по номеру команда: она побеждает две остальные. Значит, циклических троек нет, и минимум действительно равен \\(0\\). Теперь найдем максимум. Рассмотрим произвольный турнир на \\(2n+1\\) командах. Обозначим через \\(c\\) число циклических троек, а через \\(d\\) число остальных троек. Всего троек команд \\[ c+d=\\binom{2n+1}{3}. \\] Любая нециклическая тройка в турнире имеет одну команду, которая побеждает две другие: если три результата не образуют цикл, то они упорядочиваются как «сильная — средняя — слабая». Наоборот, если некоторая команда побеждает две другие внутри выбранной тройки, то эта тройка не может быть циклической. Пусть…"}],"relations":[{"id":"rel-all-union-1987-score-squares-cmo-2006-cycle-triplets","neighbor_id":"all-union-1987-final-9-tournament-score-squares","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2006-cycle-triplets-parent-min-child","neighbor_id":"cmo-2006-p4-min-cycle-triplets-tournament","direction":"forward","type":"specialization","distance":1,"status":"ai_checked"},{"id":"rel-cmo-2006-cycle-triplets-parent-max-child","neighbor_id":"cmo-2006-p4-max-cycle-triplets-tournament","direction":"forward","type":"specialization","distance":1,"status":"ai_checked"},{"id":"rel-cmo-2006-p4-imo-2010-c5-tournament-triples","neighbor_id":"imo-2010-c5-bad-company-tournament","direction":"forward","type":"same_motif","distance":1,"status":"ai_checked"},{"id":"rel-cmo-2006-p4-tournament-king-outdegree","neighbor_id":"tournament-king-radius-two","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"}],"search_text":"cmo-2006-p4-cycle-triplets-tournament циклические тройки в турнире, cmo 2006 p4 tournaments extremal_graph_theory double_counting goal_exact_bound 2006 canadian mathematical olympiad 2006 официальные решения canadian mathematical olympiad 2006 официальные условия cmo cmo2006 https://w7.cms.math.ca/competitions/cmo/archive/exam2006.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2006.pdf solution_notes src-cmo-2006-official src-cmo-2006-solutions statement with_solution ? canadian mathematical olympiad 2006 официальные условия canadian mathematical olympiad 2006 официальные решения stmt-original официальная формулировка ai_checked в круговом турнире участвуют \\(2n+1\\) команд, где каждая команда играет с каждой другой командой ровно один раз; ничьих нет. скажем, что три команды \\(x,y,z\\) образуют циклическую тройку, если \\(x\\) побеждает \\(y\\), \\(y\\) побеждает \\(z\\), а \\(z\\) побеждает \\(x\\). найдите минимально возможное и максимально возможное число циклических троек. stmt-graph циклические тройки в турнире ai_checked пусть \\(t\\) — турнир на \\(2n+1\\) вершинах, то есть ориентация полного графа, в которой между любыми двумя различными вершинами проведена ровно одна дуга. определите минимально возможное и максимально возможное число направленных циклов длины \\(3\\) в таком турнире. tournament directed_graph cycle complete_graph stmt-degree-hint формулировка через исходящие степени ai_checked пусть \\(x_v\\) — исходящая степень вершины \\(v\\) турнира на \\(2n+1\\) вершинах. каждая тройка вершин либо является направленным циклом, либо имеет вершину, из которой выходят две дуги внутри этой тройки. поэтому число нециклических троек равно \\(\\sum_v \\binom{x_v}{2}\\). максимум числа направленных \\(3\\)-циклов получается при минимизации этой суммы при условии \\(\\sum_v x_v=\\binom{2n+1}{2}\\). tournament outdegree cycle idea-dominated-triples нециклическая тройка имеет победителя любые три вершины турнира образуют либо направленный цикл, либо транзитивную тройку. во втором случае ровно одна вершина побеждает две остальные, поэтому такие тройки удобно считать по исходящим степеням. tournaments double_counting ai_checked idea-regular-tournament-extremal максимум достигается на регулярном турнире чтобы циклических троек было как можно больше, надо минимизировать число транзитивных троек \\(\\sum_v\\binom{x_v}{2}\\). при фиксированной сумме исходящих степеней эта выпуклая сумма минимальна, когда все степени равны \\(n\\), что реализуется циклическим регулярным турниром. tournaments extremal_graph_theory double_counting ai_checked sol-official-degree-count подсчет транзитивных троек по исходящим степеням ai_checked tournament outdegree double_counting ответ: минимум равен \\(0\\), максимум равен \\[ \\frac{n(n+1)(2n+1)}6. \\] сначала докажем минимум. пронумеруем команды \\(t_1,t_2,\\ldots,t_{2n+1}\\) и пусть команда с большим номером всегда побеждает команду с меньшим номером. тогда в любой тройке команд есть самая большая по номеру команда: она побеждает две остальные. значит, циклических троек нет, и минимум действительно равен \\(0\\). теперь найдем максимум. рассмотрим произвольный турнир на \\(2n+1\\) командах. обозначим через \\(c\\) число циклических троек, а через \\(d\\) число остальных троек. всего троек команд \\[ c+d=\\binom{2n+1}{3}. \\] любая нециклическая тройка в турнире имеет одну команду, которая побеждает две другие: если три результата не образуют цикл, то они упорядочиваются как «сильная — средняя — слабая». наоборот, если некоторая команда побеждает две другие внутри выбранной тройки, то эта тройка не может быть циклической. пусть… cmo-2006-p4-cycle-triplets-tournament tsiklicheskie troyki v turnire, cmo 2006 p4 tournaments extremal_graph_theory double_counting goal_exact_bound 2006 canadian mathematical olympiad 2006 ofitsialnye resheniya canadian mathematical olympiad 2006 ofitsialnye usloviya cmo cmo2006 https://w7.cms.math.ca/competitions/cmo/archive/exam2006.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2006.pdf solution_notes src-cmo-2006-official src-cmo-2006-solutions statement with_solution ? canadian mathematical olympiad 2006 ofitsialnye usloviya canadian mathematical olympiad 2006 ofitsialnye resheniya stmt-original ofitsialnaya formulirovka ai_checked v krugovom turnire uchastvuyut \\(2n+1\\) komand, gde kazhdaya komanda igraet s kazhdoy drugoy komandoy rovno odin raz; nichih net. skazhem, chto tri komandy \\(x,y,z\\) obrazuyut tsiklicheskuyu troyku, esli \\(x\\) pobezhdaet \\(y\\), \\(y\\) pobezhdaet \\(z\\), a \\(z\\) pobezhdaet \\(x\\). naydite minimalno vozmozhnoe i maksimalno vozmozhnoe chislo tsiklicheskih troek. stmt-graph tsiklicheskie troyki v turnire ai_checked pust \\(t\\) — turnir na \\(2n+1\\) vershinah, to est orientatsiya polnogo grafa, v kotoroy mezhdu lyubymi dvumya razlichnymi vershinami provedena rovno odna duga. opredelite minimalno vozmozhnoe i maksimalno vozmozhnoe chislo napravlennyh tsiklov dliny \\(3\\) v takom turnire. tournament directed_graph cycle complete_graph stmt-degree-hint formulirovka cherez ishodyaschie stepeni ai_checked pust \\(x_v\\) — ishodyaschaya stepen vershiny \\(v\\) turnira na \\(2n+1\\) vershinah. kazhdaya troyka vershin libo yavlyaetsya napravlennym tsiklom, libo imeet vershinu, iz kotoroy vyhodyat dve dugi vnutri etoy troyki. poetomu chislo netsiklicheskih troek ravno \\(\\sum_v \\binom{x_v}{2}\\). maksimum chisla napravlennyh \\(3\\)-tsiklov poluchaetsya pri minimizatsii etoy summy pri uslovii \\(\\sum_v x_v=\\binom{2n+1}{2}\\). tournament outdegree cycle idea-dominated-triples netsiklicheskaya troyka imeet pobeditelya lyubye tri vershiny turnira obrazuyut libo napravlennyy tsikl, libo tranzitivnuyu troyku. vo vtorom sluchae rovno odna vershina pobezhdaet dve ostalnye, poetomu takie troyki udobno schitat po ishodyaschim stepenyam. tournaments double_counting ai_checked idea-regular-tournament-extremal maksimum dostigaetsya na regulyarnom turnire chtoby tsiklicheskih troek bylo kak mozhno bolshe, nado minimizirovat chislo tranzitivnyh troek \\(\\sum_v\\binom{x_v}{2}\\). pri fiksirovannoy summe ishodyaschih stepeney eta vypuklaya summa minimalna, kogda vse stepeni ravny \\(n\\), chto realizuetsya tsiklicheskim regulyarnym turnirom. tournaments extremal_graph_theory double_counting ai_checked sol-official-degree-count podschet tranzitivnyh troek po ishodyaschim stepenyam ai_checked tournament outdegree double_counting otvet: minimum raven \\(0\\), maksimum raven \\[ \\frac{n(n+1)(2n+1)}6. \\] snachala dokazhem minimum. pronumeruem komandy \\(t_1,t_2,\\ldots,t_{2n+1}\\) i pust komanda s bolshim nomerom vsegda pobezhdaet komandu s menshim nomerom. togda v lyuboy troyke komand est samaya bolshaya po nomeru komanda: ona pobezhdaet dve ostalnye. znachit, tsiklicheskih troek net, i minimum deystvitelno raven \\(0\\). teper naydem maksimum. rassmotrim proizvolnyy turnir na \\(2n+1\\) komandah. oboznachim cherez \\(c\\) chislo tsiklicheskih troek, a cherez \\(d\\) chislo ostalnyh troek. vsego troek komand \\[ c+d=\\binom{2n+1}{3}. \\] lyubaya netsiklicheskaya troyka v turnire imeet odnu komandu, kotoraya pobezhdaet dve drugie: esli tri rezultata ne obrazuyut tsikl, to oni uporyadochivayutsya kak «silnaya — srednyaya — slabaya». naoborot, esli nekotoraya komanda pobezhdaet dve drugie vnutri vybrannoy troyki, to eta troyka ne mozhet byt tsiklicheskoy. pust…","source_keys":["cmo"]}
{"id":"cmo-2006-p4-max-cycle-triplets-tournament","title":"Максимум циклических троек в турнире, CMO 2006 P4","path":"data\\problems\\cmo\\cmo-2006-p4-max-cycle-triplets-tournament.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2006-p4-max-cycle-triplets-tournament.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2006-p4-max-cycle-triplets-tournament","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2006 официальные условия","Canadian Mathematical Olympiad 2006 официальные решения"],"year":"2006","type":"olympiad_problem","authors":[],"tags":["tournaments","extremal_graph_theory","double_counting","degree_counting","goal_exact_bound"],"agent_topics":[],"difficulty":{"main":"national_final_medium","local_score":8,"comment":"Максимальная часть CMO 2006 P4: точная верхняя оценка через подсчет транзитивных троек по исходящим степеням, Коши и регулярную циклическую конструкцию.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.86,"basis":"официальный источник решения, разделённый на самодостаточную подзадачу","notes":"Доказательство максимума — это часть официального решения с подсчётом степеней, переписанная как самостоятельная карточка.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Максимальная часть официальной задачи","status":"ai_checked","text":"В круговом турнире участвуют \\(2n+1\\) команд, где \\(n\\ge1\\), каждая команда играет с каждой другой командой ровно один раз, и ничьих нет. Три команды \\(X,Y,Z\\) образуют циклическую тройку, если \\(X\\) побеждает \\(Y\\), \\(Y\\) побеждает \\(Z\\), а \\(Z\\) побеждает \\(X\\). Найдите максимально возможное число циклических троек.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Максимум циклических троек в турнире","status":"ai_checked","text":"Пусть \\(T\\) — турнир на \\(2n+1\\) вершинах, где \\(n\\ge1\\), то есть ориентация полного графа, в которой между любыми двумя различными вершинами проведена ровно одна дуга. Определите максимально возможное число направленных циклов длины \\(3\\) в таком турнире.","definition_ids":["tournament","directed_graph","cycle","complete_graph"]}],"graph_hint_reformulations":[{"id":"stmt-degree-count","title":"Формулировка через исходящие степени","status":"ai_checked","text":"Пусть \\(x_v\\) — исходящая степень вершины \\(v\\) турнира на \\(2n+1\\) вершинах. Число нециклических троек равно \\(\\sum_v \\binom{x_v}{2}\\), поэтому задача о максимуме направленных \\(3\\)-циклов эквивалентна минимизации этой суммы при условии \\(\\sum_v x_v=\\binom{2n+1}{2}\\).","definition_ids":["tournament","outdegree","cycle"]}]},"solutions":[{"id":"sol-degree-count-maximum","title":"Подсчет транзитивных троек и регулярный турнир","status":"ai_checked","definition_ids":["tournament","outdegree"],"standard_idea_ids":["double_counting"],"tags":[],"has_text":true,"text_preview":"Ответ: \\[ \\frac{n(n+1)(2n+1)}6. \\] Рассмотрим произвольный турнир на \\(2n+1\\) командах. Обозначим через \\(c\\) число циклических троек, а через \\(d\\) число остальных троек. Тогда \\[ c+d=\\binom{2n+1}{3}. \\] Любая нециклическая тройка в турнире является транзитивной: в ней есть ровно одна команда, которая побеждает две другие. Обратно, если в тройке есть команда, побеждающая две остальные, то эта тройка не циклическая. Пусть \\(x_i\\) — число побед команды \\(T_i\\), то есть ее исходящая степень. Команда \\(T_i\\) является победителем ровно в \\(\\binom{x_i}{2}\\) нециклических троек, потому что две остальные команды можно выбрать среди тех, кого она победила. Каждая нециклическая тройка имеет единственного такого победителя, значит \\[ d=\\sum_{i=1}^{2n+1}\\binom{x_i}{2}. \\] Также \\[ \\sum_{i=1}^{2n+1}x_i=\\binom{2n+1}{2}=n(2n+1), \\] поскольку каждая игра дает ровно одну победу. Теперь оценим \\(d\\) сни…"}],"relations":[{"id":"rel-cmo-2006-cycle-triplets-parent-max-child","neighbor_id":"cmo-2006-p4-cycle-triplets-tournament","direction":"backward","type":"specialization","distance":1,"status":"ai_checked"},{"id":"rel-cmo-2006-cycle-triplets-min-max-pair","neighbor_id":"cmo-2006-p4-min-cycle-triplets-tournament","direction":"backward","type":"paired_variant","distance":1,"status":"ai_checked"},{"id":"rel-cmo-2006-max-cycle-triplets-imo-2010-c5","neighbor_id":"imo-2010-c5-bad-company-tournament","direction":"forward","type":"same_motif","distance":1,"status":"ai_checked"},{"id":"rel-cmo-2006-max-cycle-triplets-all-union-score-squares","neighbor_id":"all-union-1987-final-9-tournament-score-squares","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2006-max-cycle-triplets-tournament-king","neighbor_id":"tournament-king-radius-two","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-kolm-2009-r4-regular-tournament-cmo-2006-max-triples","neighbor_id":"kolmogorov-2009-round4-high-regular-tournament-hamiltonian-paths","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"}],"search_text":"cmo-2006-p4-max-cycle-triplets-tournament максимум циклических троек в турнире, cmo 2006 p4 tournaments extremal_graph_theory double_counting degree_counting goal_exact_bound 2006 canadian mathematical olympiad 2006 официальные решения canadian mathematical olympiad 2006 официальные условия cmo cmo2006 https://w7.cms.math.ca/competitions/cmo/archive/exam2006.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2006.pdf solution_notes src-cmo-2006-official src-cmo-2006-solutions statement with_solution ? canadian mathematical olympiad 2006 официальные условия canadian mathematical olympiad 2006 официальные решения stmt-original максимальная часть официальной задачи ai_checked в круговом турнире участвуют \\(2n+1\\) команд, где \\(n\\ge1\\), каждая команда играет с каждой другой командой ровно один раз, и ничьих нет. три команды \\(x,y,z\\) образуют циклическую тройку, если \\(x\\) побеждает \\(y\\), \\(y\\) побеждает \\(z\\), а \\(z\\) побеждает \\(x\\). найдите максимально возможное число циклических троек. stmt-graph максимум циклических троек в турнире ai_checked пусть \\(t\\) — турнир на \\(2n+1\\) вершинах, где \\(n\\ge1\\), то есть ориентация полного графа, в которой между любыми двумя различными вершинами проведена ровно одна дуга. определите максимально возможное число направленных циклов длины \\(3\\) в таком турнире. tournament directed_graph cycle complete_graph stmt-degree-count формулировка через исходящие степени ai_checked пусть \\(x_v\\) — исходящая степень вершины \\(v\\) турнира на \\(2n+1\\) вершинах. число нециклических троек равно \\(\\sum_v \\binom{x_v}{2}\\), поэтому задача о максимуме направленных \\(3\\)-циклов эквивалентна минимизации этой суммы при условии \\(\\sum_v x_v=\\binom{2n+1}{2}\\). tournament outdegree cycle idea-count-transitive-triples нециклические тройки считаются по победителю каждая нециклическая тройка в турнире транзитивна и имеет единственную вершину, побеждающую две остальные. поэтому число таких троек равно \\(\\sum_v\\binom{d^+(v)}2\\). tournaments double_counting degree_counting ai_checked idea-balanced-outdegrees для максимума степени должны быть сбалансированы при фиксированной сумме исходящих степеней выпуклая сумма \\(\\sum_v\\binom{d^+(v)}2\\) минимальна, когда степени как можно равнее. на нечетном числе вершин это означает регулярный турнир с \\(d^+(v)=n\\) для всех вершин. tournaments extremal_graph_theory double_counting ai_checked sol-degree-count-maximum подсчет транзитивных троек и регулярный турнир ai_checked tournament outdegree double_counting ответ: \\[ \\frac{n(n+1)(2n+1)}6. \\] рассмотрим произвольный турнир на \\(2n+1\\) командах. обозначим через \\(c\\) число циклических троек, а через \\(d\\) число остальных троек. тогда \\[ c+d=\\binom{2n+1}{3}. \\] любая нециклическая тройка в турнире является транзитивной: в ней есть ровно одна команда, которая побеждает две другие. обратно, если в тройке есть команда, побеждающая две остальные, то эта тройка не циклическая. пусть \\(x_i\\) — число побед команды \\(t_i\\), то есть ее исходящая степень. команда \\(t_i\\) является победителем ровно в \\(\\binom{x_i}{2}\\) нециклических троек, потому что две остальные команды можно выбрать среди тех, кого она победила. каждая нециклическая тройка имеет единственного такого победителя, значит \\[ d=\\sum_{i=1}^{2n+1}\\binom{x_i}{2}. \\] также \\[ \\sum_{i=1}^{2n+1}x_i=\\binom{2n+1}{2}=n(2n+1), \\] поскольку каждая игра дает ровно одну победу. теперь оценим \\(d\\) сни… cmo-2006-p4-max-cycle-triplets-tournament maksimum tsiklicheskih troek v turnire, cmo 2006 p4 tournaments extremal_graph_theory double_counting degree_counting goal_exact_bound 2006 canadian mathematical olympiad 2006 ofitsialnye resheniya canadian mathematical olympiad 2006 ofitsialnye usloviya cmo cmo2006 https://w7.cms.math.ca/competitions/cmo/archive/exam2006.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2006.pdf solution_notes src-cmo-2006-official src-cmo-2006-solutions statement with_solution ? canadian mathematical olympiad 2006 ofitsialnye usloviya canadian mathematical olympiad 2006 ofitsialnye resheniya stmt-original maksimalnaya chast ofitsialnoy zadachi ai_checked v krugovom turnire uchastvuyut \\(2n+1\\) komand, gde \\(n\\ge1\\), kazhdaya komanda igraet s kazhdoy drugoy komandoy rovno odin raz, i nichih net. tri komandy \\(x,y,z\\) obrazuyut tsiklicheskuyu troyku, esli \\(x\\) pobezhdaet \\(y\\), \\(y\\) pobezhdaet \\(z\\), a \\(z\\) pobezhdaet \\(x\\). naydite maksimalno vozmozhnoe chislo tsiklicheskih troek. stmt-graph maksimum tsiklicheskih troek v turnire ai_checked pust \\(t\\) — turnir na \\(2n+1\\) vershinah, gde \\(n\\ge1\\), to est orientatsiya polnogo grafa, v kotoroy mezhdu lyubymi dvumya razlichnymi vershinami provedena rovno odna duga. opredelite maksimalno vozmozhnoe chislo napravlennyh tsiklov dliny \\(3\\) v takom turnire. tournament directed_graph cycle complete_graph stmt-degree-count formulirovka cherez ishodyaschie stepeni ai_checked pust \\(x_v\\) — ishodyaschaya stepen vershiny \\(v\\) turnira na \\(2n+1\\) vershinah. chislo netsiklicheskih troek ravno \\(\\sum_v \\binom{x_v}{2}\\), poetomu zadacha o maksimume napravlennyh \\(3\\)-tsiklov ekvivalentna minimizatsii etoy summy pri uslovii \\(\\sum_v x_v=\\binom{2n+1}{2}\\). tournament outdegree cycle idea-count-transitive-triples netsiklicheskie troyki schitayutsya po pobeditelyu kazhdaya netsiklicheskaya troyka v turnire tranzitivna i imeet edinstvennuyu vershinu, pobezhdayuschuyu dve ostalnye. poetomu chislo takih troek ravno \\(\\sum_v\\binom{d^+(v)}2\\). tournaments double_counting degree_counting ai_checked idea-balanced-outdegrees dlya maksimuma stepeni dolzhny byt sbalansirovany pri fiksirovannoy summe ishodyaschih stepeney vypuklaya summa \\(\\sum_v\\binom{d^+(v)}2\\) minimalna, kogda stepeni kak mozhno ravnee. na nechetnom chisle vershin eto oznachaet regulyarnyy turnir s \\(d^+(v)=n\\) dlya vseh vershin. tournaments extremal_graph_theory double_counting ai_checked sol-degree-count-maximum podschet tranzitivnyh troek i regulyarnyy turnir ai_checked tournament outdegree double_counting otvet: \\[ \\frac{n(n+1)(2n+1)}6. \\] rassmotrim proizvolnyy turnir na \\(2n+1\\) komandah. oboznachim cherez \\(c\\) chislo tsiklicheskih troek, a cherez \\(d\\) chislo ostalnyh troek. togda \\[ c+d=\\binom{2n+1}{3}. \\] lyubaya netsiklicheskaya troyka v turnire yavlyaetsya tranzitivnoy: v ney est rovno odna komanda, kotoraya pobezhdaet dve drugie. obratno, esli v troyke est komanda, pobezhdayuschaya dve ostalnye, to eta troyka ne tsiklicheskaya. pust \\(x_i\\) — chislo pobed komandy \\(t_i\\), to est ee ishodyaschaya stepen. komanda \\(t_i\\) yavlyaetsya pobeditelem rovno v \\(\\binom{x_i}{2}\\) netsiklicheskih troek, potomu chto dve ostalnye komandy mozhno vybrat sredi teh, kogo ona pobedila. kazhdaya netsiklicheskaya troyka imeet edinstvennogo takogo pobeditelya, znachit \\[ d=\\sum_{i=1}^{2n+1}\\binom{x_i}{2}. \\] takzhe \\[ \\sum_{i=1}^{2n+1}x_i=\\binom{2n+1}{2}=n(2n+1), \\] poskolku kazhdaya igra daet rovno odnu pobedu. teper otsenim \\(d\\) sni…","source_keys":["cmo"]}
{"id":"cmo-2006-p4-min-cycle-triplets-tournament","title":"Минимум циклических троек в турнире, CMO 2006 P4","path":"data\\problems\\cmo\\cmo-2006-p4-min-cycle-triplets-tournament.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2006-p4-min-cycle-triplets-tournament.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2006-p4-min-cycle-triplets-tournament","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2006 официальные условия","Canadian Mathematical Olympiad 2006 официальные решения"],"year":"2006","type":"olympiad_problem","authors":[],"tags":["tournaments","construction","goal_exact_bound"],"agent_topics":[],"difficulty":{"main":"exercise","local_score":1,"comment":"Минимальная часть CMO 2006 P4: нижняя граница 0 тривиальна, достижимость дается транзитивной ориентацией полного графа.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.84,"basis":"официальный источник решения, разделённый на самодостаточную подзадачу","notes":"Доказательство минимума — это конструктивная часть официального решения, переписанная как самостоятельная карточка.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Минимальная часть официальной задачи","status":"ai_checked","text":"В круговом турнире участвуют \\(2n+1\\) команд, где \\(n\\ge1\\), каждая команда играет с каждой другой командой ровно один раз, и ничьих нет. Три команды \\(X,Y,Z\\) образуют циклическую тройку, если \\(X\\) побеждает \\(Y\\), \\(Y\\) побеждает \\(Z\\), а \\(Z\\) побеждает \\(X\\). Найдите минимально возможное число циклических троек.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Минимум циклических троек в турнире","status":"ai_checked","text":"Пусть \\(T\\) — турнир на \\(2n+1\\) вершинах, где \\(n\\ge1\\), то есть ориентация полного графа, в которой между любыми двумя различными вершинами проведена ровно одна дуга. Определите минимально возможное число направленных циклов длины \\(3\\) в таком турнире.","definition_ids":["tournament","directed_graph","cycle","complete_graph"]}],"graph_hint_reformulations":[{"id":"stmt-transitive-hint","title":"Конструктивная переформулировка","status":"ai_checked","text":"Можно ли ориентировать все ребра полного графа на \\(2n+1\\) вершинах так, чтобы ни одна тройка вершин не образовывала направленный цикл? Если да, это сразу даст минимальное число циклических троек.","definition_ids":["complete_graph","directed_graph","cycle"]}]},"solutions":[{"id":"sol-transitive-construction","title":"Конструкция без циклических троек","status":"ai_checked","definition_ids":["tournament"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Число циклических троек не может быть отрицательным, поэтому минимально возможное значение не меньше \\(0\\). Осталось построить турнир, где циклических троек нет. Пронумеруем команды \\(T_1,T_2,\\ldots,T_{2n+1}\\) и зададим результаты так: команда с большим номером всегда побеждает команду с меньшим номером. Это корректный круговой турнир без ничьих, потому что для каждой пары команд задан ровно один победитель. Возьмем любые три команды. Среди их номеров есть наибольший; соответствующая команда побеждает две остальные. В циклической тройке каждая команда имеет ровно одну победу и одно поражение внутри тройки, поэтому команда, побеждающая обе другие, невозможна. Значит, ни одна тройка в построенном турнире не является циклической. Следовательно, минимально возможное число циклических троек равно \\(0\\)."}],"relations":[{"id":"rel-cmo-2006-cycle-triplets-parent-min-child","neighbor_id":"cmo-2006-p4-cycle-triplets-tournament","direction":"backward","type":"specialization","distance":1,"status":"ai_checked"},{"id":"rel-cmo-2006-cycle-triplets-min-max-pair","neighbor_id":"cmo-2006-p4-max-cycle-triplets-tournament","direction":"forward","type":"paired_variant","distance":1,"status":"ai_checked"},{"id":"rel-putnam-1996-a4-cmo-2006-min-transitive-tournament","neighbor_id":"putnam-1996-a4-oriented-triples-order","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"}],"search_text":"cmo-2006-p4-min-cycle-triplets-tournament минимум циклических троек в турнире, cmo 2006 p4 tournaments construction goal_exact_bound 2006 canadian mathematical olympiad 2006 официальные решения canadian mathematical olympiad 2006 официальные условия cmo cmo2006 https://w7.cms.math.ca/competitions/cmo/archive/exam2006.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2006.pdf solution_notes src-cmo-2006-official src-cmo-2006-solutions statement with_solution ? canadian mathematical olympiad 2006 официальные условия canadian mathematical olympiad 2006 официальные решения stmt-original минимальная часть официальной задачи ai_checked в круговом турнире участвуют \\(2n+1\\) команд, где \\(n\\ge1\\), каждая команда играет с каждой другой командой ровно один раз, и ничьих нет. три команды \\(x,y,z\\) образуют циклическую тройку, если \\(x\\) побеждает \\(y\\), \\(y\\) побеждает \\(z\\), а \\(z\\) побеждает \\(x\\). найдите минимально возможное число циклических троек. stmt-graph минимум циклических троек в турнире ai_checked пусть \\(t\\) — турнир на \\(2n+1\\) вершинах, где \\(n\\ge1\\), то есть ориентация полного графа, в которой между любыми двумя различными вершинами проведена ровно одна дуга. определите минимально возможное число направленных циклов длины \\(3\\) в таком турнире. tournament directed_graph cycle complete_graph stmt-transitive-hint конструктивная переформулировка ai_checked можно ли ориентировать все ребра полного графа на \\(2n+1\\) вершинах так, чтобы ни одна тройка вершин не образовывала направленный цикл? если да, это сразу даст минимальное число циклических троек. complete_graph directed_graph cycle idea-transitive-tournament транзитивный турнир не содержит циклических троек если команды линейно упорядочены и каждая более высокая в порядке команда побеждает каждую более низкую, то в любой тройке есть наибольшая команда, побеждающая две остальные. такая тройка не может быть циклической. tournaments construction ai_checked sol-transitive-construction конструкция без циклических троек ai_checked tournament число циклических троек не может быть отрицательным, поэтому минимально возможное значение не меньше \\(0\\). осталось построить турнир, где циклических троек нет. пронумеруем команды \\(t_1,t_2,\\ldots,t_{2n+1}\\) и зададим результаты так: команда с большим номером всегда побеждает команду с меньшим номером. это корректный круговой турнир без ничьих, потому что для каждой пары команд задан ровно один победитель. возьмем любые три команды. среди их номеров есть наибольший; соответствующая команда побеждает две остальные. в циклической тройке каждая команда имеет ровно одну победу и одно поражение внутри тройки, поэтому команда, побеждающая обе другие, невозможна. значит, ни одна тройка в построенном турнире не является циклической. следовательно, минимально возможное число циклических троек равно \\(0\\). cmo-2006-p4-min-cycle-triplets-tournament minimum tsiklicheskih troek v turnire, cmo 2006 p4 tournaments construction goal_exact_bound 2006 canadian mathematical olympiad 2006 ofitsialnye resheniya canadian mathematical olympiad 2006 ofitsialnye usloviya cmo cmo2006 https://w7.cms.math.ca/competitions/cmo/archive/exam2006.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2006.pdf solution_notes src-cmo-2006-official src-cmo-2006-solutions statement with_solution ? canadian mathematical olympiad 2006 ofitsialnye usloviya canadian mathematical olympiad 2006 ofitsialnye resheniya stmt-original minimalnaya chast ofitsialnoy zadachi ai_checked v krugovom turnire uchastvuyut \\(2n+1\\) komand, gde \\(n\\ge1\\), kazhdaya komanda igraet s kazhdoy drugoy komandoy rovno odin raz, i nichih net. tri komandy \\(x,y,z\\) obrazuyut tsiklicheskuyu troyku, esli \\(x\\) pobezhdaet \\(y\\), \\(y\\) pobezhdaet \\(z\\), a \\(z\\) pobezhdaet \\(x\\). naydite minimalno vozmozhnoe chislo tsiklicheskih troek. stmt-graph minimum tsiklicheskih troek v turnire ai_checked pust \\(t\\) — turnir na \\(2n+1\\) vershinah, gde \\(n\\ge1\\), to est orientatsiya polnogo grafa, v kotoroy mezhdu lyubymi dvumya razlichnymi vershinami provedena rovno odna duga. opredelite minimalno vozmozhnoe chislo napravlennyh tsiklov dliny \\(3\\) v takom turnire. tournament directed_graph cycle complete_graph stmt-transitive-hint konstruktivnaya pereformulirovka ai_checked mozhno li orientirovat vse rebra polnogo grafa na \\(2n+1\\) vershinah tak, chtoby ni odna troyka vershin ne obrazovyvala napravlennyy tsikl? esli da, eto srazu dast minimalnoe chislo tsiklicheskih troek. complete_graph directed_graph cycle idea-transitive-tournament tranzitivnyy turnir ne soderzhit tsiklicheskih troek esli komandy lineyno uporyadocheny i kazhdaya bolee vysokaya v poryadke komanda pobezhdaet kazhduyu bolee nizkuyu, to v lyuboy troyke est naibolshaya komanda, pobezhdayuschaya dve ostalnye. takaya troyka ne mozhet byt tsiklicheskoy. tournaments construction ai_checked sol-transitive-construction konstruktsiya bez tsiklicheskih troek ai_checked tournament chislo tsiklicheskih troek ne mozhet byt otritsatelnym, poetomu minimalno vozmozhnoe znachenie ne menshe \\(0\\). ostalos postroit turnir, gde tsiklicheskih troek net. pronumeruem komandy \\(t_1,t_2,\\ldots,t_{2n+1}\\) i zadadim rezultaty tak: komanda s bolshim nomerom vsegda pobezhdaet komandu s menshim nomerom. eto korrektnyy krugovoy turnir bez nichih, potomu chto dlya kazhdoy pary komand zadan rovno odin pobeditel. vozmem lyubye tri komandy. sredi ih nomerov est naibolshiy; sootvetstvuyuschaya komanda pobezhdaet dve ostalnye. v tsiklicheskoy troyke kazhdaya komanda imeet rovno odnu pobedu i odno porazhenie vnutri troyki, poetomu komanda, pobezhdayuschaya obe drugie, nevozmozhna. znachit, ni odna troyka v postroennom turnire ne yavlyaetsya tsiklicheskoy. sledovatelno, minimalno vozmozhnoe chislo tsiklicheskih troek ravno \\(0\\).","source_keys":["cmo"]}
{"id":"cmo-2008-p5-self-avoiding-rook-walks","title":"Самоизбегающие ладейные пути на доске \\(3\\times n\\), CMO 2008 P5","path":"data\\problems\\cmo\\cmo-2008-p5-self-avoiding-rook-walks.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2008-p5-self-avoiding-rook-walks.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2008-p5-self-avoiding-rook-walks","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2008 официальные условия","Canadian Mathematical Olympiad 2008 официальные решения"],"year":"2008","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["connectivity","goal_counting","goal_classification","induction"],"agent_topics":[],"difficulty":{"main":"national_final_hard","local_score":10,"comment":"CMO 2008 P5; точный счет самоизбегающихся путей в полосе 3 x n через тонкую классификацию по первому столбцу и последующую линейную рекурсию.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Условие","status":"ai_checked","text":"Самоизбегающий ладейный путь на прямоугольной шахматной доске - это путь из ходов между соседними клетками параллельно сторонам доски, который не пересекает уже пройденную клетку. Пусть \\(R(m,n)\\) - число таких путей на доске \\(m\\times n\\) из левого нижнего угла в левый верхний. Известно, что \\(R(m,1)=1\\), \\(R(2,2)=2\\), \\(R(3,2)=4\\), \\(R(3,3)=11\\). Найдите формулу для \\(R(3,n)\\).","definition_ids":["path"]}],"graph_theory":[{"id":"stmt-graph","title":"Простые пути в графе доски \\(3\\times n\\)","status":"ai_checked","text":"Рассмотрим граф, вершинами которого являются клетки прямоугольной доски \\(3\\times n\\), а две вершины соединены ребром тогда и только тогда, когда соответствующие клетки имеют общую сторону. Пусть \\(r_n\\) - число простых путей в этом графе из левой нижней клетки в левую верхнюю клетку. Найдите явную формулу для \\(r_n\\).","definition_ids":["path"]}],"graph_hint_reformulations":[{"id":"stmt-graph-hint-first-column","title":"","status":"ai_checked","text":"В той же графовой модели обозначьте клетки первого столбца снизу вверх через \\(A,B,C\\). Разбейте простые пути из \\(A\\) в \\(C\\) по тому, как они проходят через \\(B\\) и где после выхода вправо впервые возвращаются в нижний или верхний ряд; это должно привести к рекурсии \\(r_n=1+r_{n-1}+2((n-1)+r_{n-2}+\\cdots+r_1)\\).","definition_ids":["path"]}]},"solutions":[{"id":"sol-official-recurrence","title":"Решение через рекурсию","status":"ai_checked","definition_ids":["path"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Пусть \\(r_n=R(3,n)\\). Из условия и прямой проверки имеем \\(r_1=1\\), \\(r_2=4\\), \\(r_3=11\\). Докажем рекурсию для \\(n\\ge3\\). Обозначим клетки первого столбца снизу вверх через \\(A,B,C\\); путь идет из \\(A\\) в \\(C\\). Сначала есть один прямой путь \\(A\\to B\\to C\\). Остальные пути в какой-то момент выходят из первого столбца вправо. Разобьем их на случаи. 1. Путь не посещает \\(B\\). Тогда из \\(A\\) он сразу идет вправо, дальше целиком живет в доске из последних \\(n-1\\) столбцов и должен прийти к клетке справа от \\(C\\), после чего последним ходом входит в \\(C\\). После удаления первого столбца это ровно самоизбегающий ладейный путь на доске \\(3\\times(n-1)\\), поэтому таких путей \\(r_{n-1}\\). 2. Путь посещает \\(B\\), после этого уходит вправо из \\(B\\) и затем ни разу не возвращается в нижний ряд. Тогда он обязан идти по средней строке до некоторого столбца \\(j\\), где \\(1\\le j\\le n-1\\) если считать ст…"}],"relations":[{"id":"rel-cmo-1979-p5-cmo-2008-p5-self-avoiding-grid-walks","neighbor_id":"cmo-1979-p5-square-lattice-self-avoiding-walks","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-1977-p7-cmo-2008-p5-self-avoiding-grid-paths","neighbor_id":"cmo-1977-p7-rectangular-city-self-avoiding-paths","direction":"backward","type":"false_friend","distance":2,"status":"ai_checked"},{"id":"rel-putnam-2005-cmo-2008-three-by-n-rook-paths","neighbor_id":"putnam-2005-a2-rook-tours-grid-hamiltonian-paths","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2005-p1-cmo-2008-rook-walks","neighbor_id":"cmo-2005-p1-triangular-grid-paths","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2026-p3-cmo-2008-p5-grid-paths","neighbor_id":"cmo-2026-p3-grid-hamiltonian-snail","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-imo-2005-c3-cmo-2008-grid-self-avoiding-paths","neighbor_id":"imo-2005-c3-black-paths-injection","direction":"backward","type":"same_motif","distance":4,"status":"needs_human_review"}],"search_text":"cmo-2008-p5-self-avoiding-rook-walks самоизбегающие ладейные пути на доске \\(3\\times n\\), cmo 2008 p5 connectivity goal_counting goal_classification induction 2008 canadian mathematical olympiad 2008 официальные решения canadian mathematical olympiad 2008 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2008 https://w7.cms.math.ca/competitions/cmo/archive/exam2008.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2008.pdf solution_notes src-cmo-2008-official src-cmo-2008-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2008 официальные условия canadian mathematical olympiad 2008 официальные решения stmt-original условие ai_checked самоизбегающий ладейный путь на прямоугольной шахматной доске - это путь из ходов между соседними клетками параллельно сторонам доски, который не пересекает уже пройденную клетку. пусть \\(r(m,n)\\) - число таких путей на доске \\(m\\times n\\) из левого нижнего угла в левый верхний. известно, что \\(r(m,1)=1\\), \\(r(2,2)=2\\), \\(r(3,2)=4\\), \\(r(3,3)=11\\). найдите формулу для \\(r(3,n)\\). path stmt-graph простые пути в графе доски \\(3\\times n\\) ai_checked рассмотрим граф, вершинами которого являются клетки прямоугольной доски \\(3\\times n\\), а две вершины соединены ребром тогда и только тогда, когда соответствующие клетки имеют общую сторону. пусть \\(r_n\\) - число простых путей в этом графе из левой нижней клетки в левую верхнюю клетку. найдите явную формулу для \\(r_n\\). path stmt-graph-hint-first-column ai_checked в той же графовой модели обозначьте клетки первого столбца снизу вверх через \\(a,b,c\\). разбейте простые пути из \\(a\\) в \\(c\\) по тому, как они проходят через \\(b\\) и где после выхода вправо впервые возвращаются в нижний или верхний ряд; это должно привести к рекурсии \\(r_n=1+r_{n-1}+2((n-1)+r_{n-2}+\\cdots+r_1)\\). path idea-first-column-six-types классификация по первому столбцу для \\(n\\ge3\\) путь из нижней левой клетки в верхнюю левую либо сразу идет по первому столбцу, либо уходит в доску справа от первого столбца. если он уходит вправо, то основной выбор - избежать средней клетки первого столбца или пройти через нее; во втором случае нужно учитывать первый возврат в нижний ряд, а затем добавить симметричное семейство для верхнего ряда. goal_counting goal_classification ai_checked idea-shifted-strip-recurrence остаток доски снова является полосой когда путь обходит среднюю клетку первого столбца, оставшаяся свобода живет на доске \\(3\\times(n-1)\\). когда первый возврат фиксирован в некотором столбце, часть пути до возврата вынуждена, а хвост снова считается числом \\(r_k\\) для меньшей полосы. induction ai_checked sol-official-recurrence решение через рекурсию ai_checked path пусть \\(r_n=r(3,n)\\). из условия и прямой проверки имеем \\(r_1=1\\), \\(r_2=4\\), \\(r_3=11\\). докажем рекурсию для \\(n\\ge3\\). обозначим клетки первого столбца снизу вверх через \\(a,b,c\\); путь идет из \\(a\\) в \\(c\\). сначала есть один прямой путь \\(a\\to b\\to c\\). остальные пути в какой-то момент выходят из первого столбца вправо. разобьем их на случаи. 1. путь не посещает \\(b\\). тогда из \\(a\\) он сразу идет вправо, дальше целиком живет в доске из последних \\(n-1\\) столбцов и должен прийти к клетке справа от \\(c\\), после чего последним ходом входит в \\(c\\). после удаления первого столбца это ровно самоизбегающий ладейный путь на доске \\(3\\times(n-1)\\), поэтому таких путей \\(r_{n-1}\\). 2. путь посещает \\(b\\), после этого уходит вправо из \\(b\\) и затем ни разу не возвращается в нижний ряд. тогда он обязан идти по средней строке до некоторого столбца \\(j\\), где \\(1\\le j\\le n-1\\) если считать ст… cmo-2008-p5-self-avoiding-rook-walks samoizbegayuschie ladeynye puti na doske \\(3\\times n\\), cmo 2008 p5 connectivity goal_counting goal_classification induction 2008 canadian mathematical olympiad 2008 ofitsialnye resheniya canadian mathematical olympiad 2008 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2008 https://w7.cms.math.ca/competitions/cmo/archive/exam2008.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2008.pdf solution_notes src-cmo-2008-official src-cmo-2008-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2008 ofitsialnye usloviya canadian mathematical olympiad 2008 ofitsialnye resheniya stmt-original uslovie ai_checked samoizbegayuschiy ladeynyy put na pryamougolnoy shahmatnoy doske - eto put iz hodov mezhdu sosednimi kletkami parallelno storonam doski, kotoryy ne peresekaet uzhe proydennuyu kletku. pust \\(r(m,n)\\) - chislo takih putey na doske \\(m\\times n\\) iz levogo nizhnego ugla v levyy verhniy. izvestno, chto \\(r(m,1)=1\\), \\(r(2,2)=2\\), \\(r(3,2)=4\\), \\(r(3,3)=11\\). naydite formulu dlya \\(r(3,n)\\). path stmt-graph prostye puti v grafe doski \\(3\\times n\\) ai_checked rassmotrim graf, vershinami kotorogo yavlyayutsya kletki pryamougolnoy doski \\(3\\times n\\), a dve vershiny soedineny rebrom togda i tolko togda, kogda sootvetstvuyuschie kletki imeyut obschuyu storonu. pust \\(r_n\\) - chislo prostyh putey v etom grafe iz levoy nizhney kletki v levuyu verhnyuyu kletku. naydite yavnuyu formulu dlya \\(r_n\\). path stmt-graph-hint-first-column ai_checked v toy zhe grafovoy modeli oboznachte kletki pervogo stolbtsa snizu vverh cherez \\(a,b,c\\). razbeyte prostye puti iz \\(a\\) v \\(c\\) po tomu, kak oni prohodyat cherez \\(b\\) i gde posle vyhoda vpravo vpervye vozvraschayutsya v nizhniy ili verhniy ryad; eto dolzhno privesti k rekursii \\(r_n=1+r_{n-1}+2((n-1)+r_{n-2}+\\cdots+r_1)\\). path idea-first-column-six-types klassifikatsiya po pervomu stolbtsu dlya \\(n\\ge3\\) put iz nizhney levoy kletki v verhnyuyu levuyu libo srazu idet po pervomu stolbtsu, libo uhodit v dosku sprava ot pervogo stolbtsa. esli on uhodit vpravo, to osnovnoy vybor - izbezhat sredney kletki pervogo stolbtsa ili proyti cherez nee; vo vtorom sluchae nuzhno uchityvat pervyy vozvrat v nizhniy ryad, a zatem dobavit simmetrichnoe semeystvo dlya verhnego ryada. goal_counting goal_classification ai_checked idea-shifted-strip-recurrence ostatok doski snova yavlyaetsya polosoy kogda put obhodit srednyuyu kletku pervogo stolbtsa, ostavshayasya svoboda zhivet na doske \\(3\\times(n-1)\\). kogda pervyy vozvrat fiksirovan v nekotorom stolbtse, chast puti do vozvrata vynuzhdena, a hvost snova schitaetsya chislom \\(r_k\\) dlya menshey polosy. induction ai_checked sol-official-recurrence reshenie cherez rekursiyu ai_checked path pust \\(r_n=r(3,n)\\). iz usloviya i pryamoy proverki imeem \\(r_1=1\\), \\(r_2=4\\), \\(r_3=11\\). dokazhem rekursiyu dlya \\(n\\ge3\\). oboznachim kletki pervogo stolbtsa snizu vverh cherez \\(a,b,c\\); put idet iz \\(a\\) v \\(c\\). snachala est odin pryamoy put \\(a\\to b\\to c\\). ostalnye puti v kakoy-to moment vyhodyat iz pervogo stolbtsa vpravo. razobem ih na sluchai. 1. put ne poseschaet \\(b\\). togda iz \\(a\\) on srazu idet vpravo, dalshe tselikom zhivet v doske iz poslednih \\(n-1\\) stolbtsov i dolzhen priyti k kletke sprava ot \\(c\\), posle chego poslednim hodom vhodit v \\(c\\). posle udaleniya pervogo stolbtsa eto rovno samoizbegayuschiy ladeynyy put na doske \\(3\\times(n-1)\\), poetomu takih putey \\(r_{n-1}\\). 2. put poseschaet \\(b\\), posle etogo uhodit vpravo iz \\(b\\) i zatem ni razu ne vozvraschaetsya v nizhniy ryad. togda on obyazan idti po sredney stroke do nekotorogo stolbtsa \\(j\\), gde \\(1\\le j\\le n-1\\) esli schitat st…","source_keys":["cmo"]}
{"id":"cmo-2010-p4-graph-neighborhood-toggle","title":"Переключение замкнутых окрестностей в конечном графе, CMO 2010 P4","path":"data\\problems\\cmo\\cmo-2010-p4-graph-neighborhood-toggle.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2010-p4-graph-neighborhood-toggle.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2010-p4-graph-neighborhood-toggle","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2010 официальные условия","Canadian Mathematical Olympiad 2010 официальные решения"],"year":"2010","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["coloring","induction","double_counting","goal_existence"],"agent_topics":[],"difficulty":{"main":"national_final_medium","local_score":9,"comment":"CMO 2010 P4; короткая, но тонкая индукция по вершинам с паритетным склеиванием локальных переключений.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Условие","status":"ai_checked","text":"Каждая вершина конечного графа окрашена либо в чёрный, либо в белый цвет. Сначала все вершины чёрные. Разрешается выбрать вершину \\(P\\) и изменить цвет \\(P\\) и всех её соседей. Можно ли последовательностью таких операций изменить цвет каждой вершины с чёрного на белый?","definition_ids":["simple_graph"]}],"graph_theory":[{"id":"stmt-graph","title":"Переключение замкнутых окрестностей","status":"ai_checked","text":"Пусть \\(G\\) — конечный простой граф. Для вершины \\(v\\) обозначим через \\(N[v]\\) множество, состоящее из самой вершины \\(v\\) и всех её соседей. Одним ходом разрешается выбрать вершину \\(v\\) и одновременно переключить цвета всех вершин из \\(N[v]\\), то есть заменить чёрный цвет на белый, а белый на чёрный. Докажите, что из полностью чёрной раскраски всегда можно получить полностью белую раскраску.","definition_ids":["simple_graph","degree"]}],"graph_hint_reformulations":[{"id":"stmt-induction-hint","title":"Индуктивная подсказка","status":"ai_checked","text":"Для каждой вершины \\(P_i\\) удалите её и примените утверждение индукции к графу без \\(P_i\\). Получится композиция \\(g_i\\) ходов с центрами в остальных вершинах, которая переключает все вершины, кроме, возможно, \\(P_i\\). Если все \\(g_i\\) оставляют свои \\(P_i\\) неизменными, сложите эти композиции по модулю 2; при нечётном числе вершин дополнительно используйте вершину чётной степени.","definition_ids":["simple_graph","degree"]}]},"solutions":[{"id":"sol-official-induction","title":"Решение индукцией","status":"ai_checked","definition_ids":["simple_graph","degree"],"standard_idea_ids":["induction","double_counting"],"tags":[],"has_text":true,"text_preview":"Докажем утверждение индукцией по числу вершин. Для графа из одной вершины достаточно один раз выбрать эту вершину. Пусть утверждение уже доказано для всех графов с меньшим числом вершин, и пусть вершины данного графа равны \\(P_1,\\dots,P_m\\). Обозначим через \\(f_i\\) ход, который переключает \\(P_i\\) и всех соседей \\(P_i\\). Зафиксируем индекс \\(i\\), удалим из графа вершину \\(P_i\\) вместе с инцидентными рёбрами и применим индукционное предположение к оставшемуся графу. Полученная последовательность ходов использует только центры \\(P_j\\) при \\(j\\ne i\\); обозначим её композицию через \\(g_i\\). На всех вершинах, кроме \\(P_i\\), эта композиция меняет цвет. На самой вершине \\(P_i\\) она может либо менять цвет, либо не менять, потому что некоторые выбранные центры могли быть соседями \\(P_i\\) в исходном графе. Если для некоторого \\(i\\) композиция \\(g_i\\) тоже меняет цвет \\(P_i\\), то \\(g_i\\) уже перек…"}],"relations":[{"id":"rel-cmo-1994-p3-cmo-2010-p4-color-toggle","neighbor_id":"cmo-1994-p3-voting-stabilizes-cycle","direction":"backward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-cmo-2010-p4-handshaking-even-degree","neighbor_id":"handshaking-lemma","direction":"forward","type":"prerequisite","distance":1,"status":"ai_checked"},{"id":"rel-cmo-2010-p4-usamo-2008-f2-toggle-parity","neighbor_id":"usamo-2008-p6-even-friends-two-rooms","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2010-p4-color-reduction-parity-operations","neighbor_id":"color-reduction-by-odd-deletion-and-doubling","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-cmo-2010-p4-cmo-1991-degree-parity","neighbor_id":"cmo-1991-p4-edge-difference-labeling-diagram","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"}],"search_text":"cmo-2010-p4-graph-neighborhood-toggle переключение замкнутых окрестностей в конечном графе, cmo 2010 p4 coloring induction double_counting goal_existence 2010 canadian mathematical olympiad 2010 официальные решения canadian mathematical olympiad 2010 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2010 https://w7.cms.math.ca/competitions/cmo/archive/exam2010.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2010.pdf solution_notes src-cmo-2010-official src-cmo-2010-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2010 официальные условия canadian mathematical olympiad 2010 официальные решения stmt-original условие ai_checked каждая вершина конечного графа окрашена либо в чёрный, либо в белый цвет. сначала все вершины чёрные. разрешается выбрать вершину \\(p\\) и изменить цвет \\(p\\) и всех её соседей. можно ли последовательностью таких операций изменить цвет каждой вершины с чёрного на белый? simple_graph stmt-graph переключение замкнутых окрестностей ai_checked пусть \\(g\\) — конечный простой граф. для вершины \\(v\\) обозначим через \\(n[v]\\) множество, состоящее из самой вершины \\(v\\) и всех её соседей. одним ходом разрешается выбрать вершину \\(v\\) и одновременно переключить цвета всех вершин из \\(n[v]\\), то есть заменить чёрный цвет на белый, а белый на чёрный. докажите, что из полностью чёрной раскраски всегда можно получить полностью белую раскраску. simple_graph degree stmt-induction-hint индуктивная подсказка ai_checked для каждой вершины \\(p_i\\) удалите её и примените утверждение индукции к графу без \\(p_i\\). получится композиция \\(g_i\\) ходов с центрами в остальных вершинах, которая переключает все вершины, кроме, возможно, \\(p_i\\). если все \\(g_i\\) оставляют свои \\(p_i\\) неизменными, сложите эти композиции по модулю 2; при нечётном числе вершин дополнительно используйте вершину чётной степени. simple_graph degree idea-delete-vertex индукция по удалению вершины удаляя вершину \\(p_i\\) и применяя индукцию к оставшемуся графу, получаем композицию ходов с центрами вне \\(p_i\\). на всех оставшихся вершинах она действует как нужное полное переключение, а на \\(p_i\\) может сработать или не сработать. induction goal_existence ai_checked idea-even-degree в нечётном случае нужна вершина чётной степени если число вершин нечётно, лемма о рукопожатиях даёт вершину чётной степени; ход в этой вершине вместе с композициями для неё и её соседей переключает каждую вершину нечётное число раз. double_counting ai_checked sol-official-induction решение индукцией ai_checked simple_graph degree induction double_counting докажем утверждение индукцией по числу вершин. для графа из одной вершины достаточно один раз выбрать эту вершину. пусть утверждение уже доказано для всех графов с меньшим числом вершин, и пусть вершины данного графа равны \\(p_1,\\dots,p_m\\). обозначим через \\(f_i\\) ход, который переключает \\(p_i\\) и всех соседей \\(p_i\\). зафиксируем индекс \\(i\\), удалим из графа вершину \\(p_i\\) вместе с инцидентными рёбрами и применим индукционное предположение к оставшемуся графу. полученная последовательность ходов использует только центры \\(p_j\\) при \\(j\\ne i\\); обозначим её композицию через \\(g_i\\). на всех вершинах, кроме \\(p_i\\), эта композиция меняет цвет. на самой вершине \\(p_i\\) она может либо менять цвет, либо не менять, потому что некоторые выбранные центры могли быть соседями \\(p_i\\) в исходном графе. если для некоторого \\(i\\) композиция \\(g_i\\) тоже меняет цвет \\(p_i\\), то \\(g_i\\) уже перек… cmo-2010-p4-graph-neighborhood-toggle pereklyuchenie zamknutyh okrestnostey v konechnom grafe, cmo 2010 p4 coloring induction double_counting goal_existence 2010 canadian mathematical olympiad 2010 ofitsialnye resheniya canadian mathematical olympiad 2010 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2010 https://w7.cms.math.ca/competitions/cmo/archive/exam2010.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2010.pdf solution_notes src-cmo-2010-official src-cmo-2010-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2010 ofitsialnye usloviya canadian mathematical olympiad 2010 ofitsialnye resheniya stmt-original uslovie ai_checked kazhdaya vershina konechnogo grafa okrashena libo v chernyy, libo v belyy tsvet. snachala vse vershiny chernye. razreshaetsya vybrat vershinu \\(p\\) i izmenit tsvet \\(p\\) i vseh ee sosedey. mozhno li posledovatelnostyu takih operatsiy izmenit tsvet kazhdoy vershiny s chernogo na belyy? simple_graph stmt-graph pereklyuchenie zamknutyh okrestnostey ai_checked pust \\(g\\) — konechnyy prostoy graf. dlya vershiny \\(v\\) oboznachim cherez \\(n[v]\\) mnozhestvo, sostoyaschee iz samoy vershiny \\(v\\) i vseh ee sosedey. odnim hodom razreshaetsya vybrat vershinu \\(v\\) i odnovremenno pereklyuchit tsveta vseh vershin iz \\(n[v]\\), to est zamenit chernyy tsvet na belyy, a belyy na chernyy. dokazhite, chto iz polnostyu chernoy raskraski vsegda mozhno poluchit polnostyu beluyu raskrasku. simple_graph degree stmt-induction-hint induktivnaya podskazka ai_checked dlya kazhdoy vershiny \\(p_i\\) udalite ee i primenite utverzhdenie induktsii k grafu bez \\(p_i\\). poluchitsya kompozitsiya \\(g_i\\) hodov s tsentrami v ostalnyh vershinah, kotoraya pereklyuchaet vse vershiny, krome, vozmozhno, \\(p_i\\). esli vse \\(g_i\\) ostavlyayut svoi \\(p_i\\) neizmennymi, slozhite eti kompozitsii po modulyu 2; pri nechetnom chisle vershin dopolnitelno ispolzuyte vershinu chetnoy stepeni. simple_graph degree idea-delete-vertex induktsiya po udaleniyu vershiny udalyaya vershinu \\(p_i\\) i primenyaya induktsiyu k ostavshemusya grafu, poluchaem kompozitsiyu hodov s tsentrami vne \\(p_i\\). na vseh ostavshihsya vershinah ona deystvuet kak nuzhnoe polnoe pereklyuchenie, a na \\(p_i\\) mozhet srabotat ili ne srabotat. induction goal_existence ai_checked idea-even-degree v nechetnom sluchae nuzhna vershina chetnoy stepeni esli chislo vershin nechetno, lemma o rukopozhatiyah daet vershinu chetnoy stepeni; hod v etoy vershine vmeste s kompozitsiyami dlya nee i ee sosedey pereklyuchaet kazhduyu vershinu nechetnoe chislo raz. double_counting ai_checked sol-official-induction reshenie induktsiey ai_checked simple_graph degree induction double_counting dokazhem utverzhdenie induktsiey po chislu vershin. dlya grafa iz odnoy vershiny dostatochno odin raz vybrat etu vershinu. pust utverzhdenie uzhe dokazano dlya vseh grafov s menshim chislom vershin, i pust vershiny dannogo grafa ravny \\(p_1,\\dots,p_m\\). oboznachim cherez \\(f_i\\) hod, kotoryy pereklyuchaet \\(p_i\\) i vseh sosedey \\(p_i\\). zafiksiruem indeks \\(i\\), udalim iz grafa vershinu \\(p_i\\) vmeste s intsidentnymi rebrami i primenim induktsionnoe predpolozhenie k ostavshemusya grafu. poluchennaya posledovatelnost hodov ispolzuet tolko tsentry \\(p_j\\) pri \\(j\\ne i\\); oboznachim ee kompozitsiyu cherez \\(g_i\\). na vseh vershinah, krome \\(p_i\\), eta kompozitsiya menyaet tsvet. na samoy vershine \\(p_i\\) ona mozhet libo menyat tsvet, libo ne menyat, potomu chto nekotorye vybrannye tsentry mogli byt sosedyami \\(p_i\\) v ishodnom grafe. esli dlya nekotorogo \\(i\\) kompozitsiya \\(g_i\\) tozhe menyaet tsvet \\(p_i\\), to \\(g_i\\) uzhe perek…","source_keys":["cmo"]}
{"id":"cmo-2012-p4-synchronizing-grid-robots","title":"Синхронизирующее слово для решётчатого автомата, CMO 2012 P4","path":"data\\problems\\cmo\\cmo-2012-p4-synchronizing-grid-robots.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2012-p4-synchronizing-grid-robots.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2012-p4-synchronizing-grid-robots","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2012 официальные условия","Canadian Mathematical Olympiad 2012 официальные решения"],"year":"2012","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["connectivity","induction","goal_proof"],"agent_topics":[],"difficulty":{"main":"national_final_hard","local_score":10,"comment":"CMO 2012 P4; сильная задача на синхронизирующее слово в конечной клеточной системе. Официальное решение использует минимальное слово и убывание расстояния для пары роботов.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Условие","status":"ai_checked","text":"На клетках конечной прямоугольной сетки стоят роботы. В одной клетке может стоять любое число роботов. Каждая сторона каждой клетки объявлена либо проходимой, либо непроходимой; все стороны на границе прямоугольника непроходимы. Можно подавать команды вверх, вниз, влево и вправо. После команды все роботы одновременно пытаются пойти в указанном направлении: если соответствующая сторона клетки проходима, робот переходит через нее в соседнюю клетку, а если непроходима, остается на месте. Предположим, что для любого отдельного робота и любой клетки существует конечная последовательность команд, переводящая этого робота в эту клетку. Докажите, что существует конечная последовательность команд, после которой все роботы одновременно окажутся в одной клетке.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Синхронизирующее слово для решётчатого автомата","status":"ai_checked","text":"Пусть дан конечный прямоугольный подграф клеточной решетки: его вершины - клетки прямоугольника, а некоторые пары соседних по стороне клеток соединены проходимым ребром. Для каждого из четырех направлений задано отображение множества вершин в себя: вершина переходит к соседней вершине в этом направлении, если соответствующее ребро есть, и остается на месте иначе. Предположим, что полученная система сильносвязна в следующем смысле: для любых вершин \\(x\\) и \\(y\\) существует слово из четырех направлений, переводящее \\(x\\) в \\(y\\). Докажите, что для любого конечного набора фишек на вершинах существует одно слово из направлений, после применения которого все фишки окажутся в одной вершине.","definition_ids":["directed_graph"]}],"graph_hint_reformulations":[{"id":"stmt-hint-shortest-word","title":"Подсказка через кратчайшее слово","status":"ai_checked","text":"Для двух фишек \\(A\\) и \\(B\\) рассмотрите минимальную длину слова, которое переводит текущую вершину \\(A\\) в текущую вершину \\(B\\). Покажите, что если взять кратчайшее слово \\(S=s_1\\ldots s_n\\), то либо \\(B\\) когда-то упирается в стену и циклический сдвиг слова без одной команды уменьшает эту величину, либо обе фишки во все моменты сдвигаются на один и тот же ненулевой вектор, что невозможно в конечном прямоугольнике с непроходимой границей.","definition_ids":[]}]},"solutions":[{"id":"sol-official-pairwise","title":"Решение через уменьшение расстояния между двумя роботами","status":"ai_checked","definition_ids":["directed_graph","path"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Сначала докажем, что любые два робота можно привести в одну клетку. Этого достаточно: когда два робота стоят в одной клетке, любая последующая команда действует на них одинаково, так что они навсегда остаются вместе. После слияния пары можно таким же способом привести к этой общей клетке третьего робота, затем четвертого и так далее, пока все роботы не окажутся вместе. Рассмотрим двух роботов \\(A\\) и \\(B\\) в некоторый момент времени. Обозначим через \\(d(A,B)\\) минимальное число команд в слове, которое переводит робота \\(A\\) из его текущей клетки в текущую клетку робота \\(B\\). По условию такая последовательность существует для любых двух клеток, поэтому \\(d(A,B)\\) определено. Если \\(d(A,B)=0\\), роботы уже стоят вместе. Пусть \\(d(A,B)=n>0\\), и пусть \\(S=s_1s_2\\ldots s_n\\) - кратчайшее слово, переводящее \\(A\\) в текущую клетку \\(B\\). Во время выполнения слова \\(S\\) робот \\(A\\) ни разу не у…"}],"relations":[{"id":"rel-cmo-2025-p1-cmo-2012-p4-synchronization","neighbor_id":"cmo-2025-p1-voting-functional-graph","direction":"backward","type":"same_motif","distance":3,"status":"ai_checked"}],"search_text":"cmo-2012-p4-synchronizing-grid-robots синхронизирующее слово для решётчатого автомата, cmo 2012 p4 connectivity induction goal_proof 2012 canadian mathematical olympiad 2012 официальные решения canadian mathematical olympiad 2012 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2012 https://w7.cms.math.ca/competitions/cmo/archive/exam2012.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2012.pdf solution_notes src-cmo-2012-official src-cmo-2012-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2012 официальные условия canadian mathematical olympiad 2012 официальные решения stmt-original условие ai_checked на клетках конечной прямоугольной сетки стоят роботы. в одной клетке может стоять любое число роботов. каждая сторона каждой клетки объявлена либо проходимой, либо непроходимой; все стороны на границе прямоугольника непроходимы. можно подавать команды вверх, вниз, влево и вправо. после команды все роботы одновременно пытаются пойти в указанном направлении: если соответствующая сторона клетки проходима, робот переходит через нее в соседнюю клетку, а если непроходима, остается на месте. предположим, что для любого отдельного робота и любой клетки существует конечная последовательность команд, переводящая этого робота в эту клетку. докажите, что существует конечная последовательность команд, после которой все роботы одновременно окажутся в одной клетке. stmt-graph синхронизирующее слово для решётчатого автомата ai_checked пусть дан конечный прямоугольный подграф клеточной решетки: его вершины - клетки прямоугольника, а некоторые пары соседних по стороне клеток соединены проходимым ребром. для каждого из четырех направлений задано отображение множества вершин в себя: вершина переходит к соседней вершине в этом направлении, если соответствующее ребро есть, и остается на месте иначе. предположим, что полученная система сильносвязна в следующем смысле: для любых вершин \\(x\\) и \\(y\\) существует слово из четырех направлений, переводящее \\(x\\) в \\(y\\). докажите, что для любого конечного набора фишек на вершинах существует одно слово из направлений, после применения которого все фишки окажутся в одной вершине. directed_graph stmt-hint-shortest-word подсказка через кратчайшее слово ai_checked для двух фишек \\(a\\) и \\(b\\) рассмотрите минимальную длину слова, которое переводит текущую вершину \\(a\\) в текущую вершину \\(b\\). покажите, что если взять кратчайшее слово \\(s=s_1\\ldots s_n\\), то либо \\(b\\) когда-то упирается в стену и циклический сдвиг слова без одной команды уменьшает эту величину, либо обе фишки во все моменты сдвигаются на один и тот же ненулевой вектор, что невозможно в конечном прямоугольнике с непроходимой границей. idea-pair-merge достаточно сливать пары если две фишки однажды оказались в одной клетке, дальнейшие общие команды действуют на них одинаково, поэтому они уже не расходятся. значит, можно последовательно присоединять к одной уже собранной группе по одному роботу. connectivity induction ai_checked idea-distance-drop минимальная длина слова уменьшается для двух роботов берется кратчайшее слово, переводящее первого на текущую клетку второго. если второй робот в какой-то момент не может выполнить команду, то циклическая перестановка оставшихся команд переводит первого к новому положению второго короче. если же второй никогда не упирается, то относительный вектор сохраняется и повторение слова сдвигало бы роботов все дальше в конечной сетке. extremal_choice induction ai_checked sol-official-pairwise решение через уменьшение расстояния между двумя роботами ai_checked directed_graph path сначала докажем, что любые два робота можно привести в одну клетку. этого достаточно: когда два робота стоят в одной клетке, любая последующая команда действует на них одинаково, так что они навсегда остаются вместе. после слияния пары можно таким же способом привести к этой общей клетке третьего робота, затем четвертого и так далее, пока все роботы не окажутся вместе. рассмотрим двух роботов \\(a\\) и \\(b\\) в некоторый момент времени. обозначим через \\(d(a,b)\\) минимальное число команд в слове, которое переводит робота \\(a\\) из его текущей клетки в текущую клетку робота \\(b\\). по условию такая последовательность существует для любых двух клеток, поэтому \\(d(a,b)\\) определено. если \\(d(a,b)=0\\), роботы уже стоят вместе. пусть \\(d(a,b)=n>0\\), и пусть \\(s=s_1s_2\\ldots s_n\\) - кратчайшее слово, переводящее \\(a\\) в текущую клетку \\(b\\). во время выполнения слова \\(s\\) робот \\(a\\) ни разу не у… cmo-2012-p4-synchronizing-grid-robots sinhroniziruyuschee slovo dlya reshetchatogo avtomata, cmo 2012 p4 connectivity induction goal_proof 2012 canadian mathematical olympiad 2012 ofitsialnye resheniya canadian mathematical olympiad 2012 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2012 https://w7.cms.math.ca/competitions/cmo/archive/exam2012.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2012.pdf solution_notes src-cmo-2012-official src-cmo-2012-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2012 ofitsialnye usloviya canadian mathematical olympiad 2012 ofitsialnye resheniya stmt-original uslovie ai_checked na kletkah konechnoy pryamougolnoy setki stoyat roboty. v odnoy kletke mozhet stoyat lyuboe chislo robotov. kazhdaya storona kazhdoy kletki obyavlena libo prohodimoy, libo neprohodimoy; vse storony na granitse pryamougolnika neprohodimy. mozhno podavat komandy vverh, vniz, vlevo i vpravo. posle komandy vse roboty odnovremenno pytayutsya poyti v ukazannom napravlenii: esli sootvetstvuyuschaya storona kletki prohodima, robot perehodit cherez nee v sosednyuyu kletku, a esli neprohodima, ostaetsya na meste. predpolozhim, chto dlya lyubogo otdelnogo robota i lyuboy kletki suschestvuet konechnaya posledovatelnost komand, perevodyaschaya etogo robota v etu kletku. dokazhite, chto suschestvuet konechnaya posledovatelnost komand, posle kotoroy vse roboty odnovremenno okazhutsya v odnoy kletke. stmt-graph sinhroniziruyuschee slovo dlya reshetchatogo avtomata ai_checked pust dan konechnyy pryamougolnyy podgraf kletochnoy reshetki: ego vershiny - kletki pryamougolnika, a nekotorye pary sosednih po storone kletok soedineny prohodimym rebrom. dlya kazhdogo iz chetyreh napravleniy zadano otobrazhenie mnozhestva vershin v sebya: vershina perehodit k sosedney vershine v etom napravlenii, esli sootvetstvuyuschee rebro est, i ostaetsya na meste inache. predpolozhim, chto poluchennaya sistema silnosvyazna v sleduyuschem smysle: dlya lyubyh vershin \\(x\\) i \\(y\\) suschestvuet slovo iz chetyreh napravleniy, perevodyaschee \\(x\\) v \\(y\\). dokazhite, chto dlya lyubogo konechnogo nabora fishek na vershinah suschestvuet odno slovo iz napravleniy, posle primeneniya kotorogo vse fishki okazhutsya v odnoy vershine. directed_graph stmt-hint-shortest-word podskazka cherez kratchayshee slovo ai_checked dlya dvuh fishek \\(a\\) i \\(b\\) rassmotrite minimalnuyu dlinu slova, kotoroe perevodit tekuschuyu vershinu \\(a\\) v tekuschuyu vershinu \\(b\\). pokazhite, chto esli vzyat kratchayshee slovo \\(s=s_1\\ldots s_n\\), to libo \\(b\\) kogda-to upiraetsya v stenu i tsiklicheskiy sdvig slova bez odnoy komandy umenshaet etu velichinu, libo obe fishki vo vse momenty sdvigayutsya na odin i tot zhe nenulevoy vektor, chto nevozmozhno v konechnom pryamougolnike s neprohodimoy granitsey. idea-pair-merge dostatochno slivat pary esli dve fishki odnazhdy okazalis v odnoy kletke, dalneyshie obschie komandy deystvuyut na nih odinakovo, poetomu oni uzhe ne rashodyatsya. znachit, mozhno posledovatelno prisoedinyat k odnoy uzhe sobrannoy gruppe po odnomu robotu. connectivity induction ai_checked idea-distance-drop minimalnaya dlina slova umenshaetsya dlya dvuh robotov beretsya kratchayshee slovo, perevodyaschee pervogo na tekuschuyu kletku vtorogo. esli vtoroy robot v kakoy-to moment ne mozhet vypolnit komandu, to tsiklicheskaya perestanovka ostavshihsya komand perevodit pervogo k novomu polozheniyu vtorogo koroche. esli zhe vtoroy nikogda ne upiraetsya, to otnositelnyy vektor sohranyaetsya i povtorenie slova sdvigalo by robotov vse dalshe v konechnoy setke. extremal_choice induction ai_checked sol-official-pairwise reshenie cherez umenshenie rasstoyaniya mezhdu dvumya robotami ai_checked directed_graph path snachala dokazhem, chto lyubye dva robota mozhno privesti v odnu kletku. etogo dostatochno: kogda dva robota stoyat v odnoy kletke, lyubaya posleduyuschaya komanda deystvuet na nih odinakovo, tak chto oni navsegda ostayutsya vmeste. posle sliyaniya pary mozhno takim zhe sposobom privesti k etoy obschey kletke tretego robota, zatem chetvertogo i tak dalee, poka vse roboty ne okazhutsya vmeste. rassmotrim dvuh robotov \\(a\\) i \\(b\\) v nekotoryy moment vremeni. oboznachim cherez \\(d(a,b)\\) minimalnoe chislo komand v slove, kotoroe perevodit robota \\(a\\) iz ego tekuschey kletki v tekuschuyu kletku robota \\(b\\). po usloviyu takaya posledovatelnost suschestvuet dlya lyubyh dvuh kletok, poetomu \\(d(a,b)\\) opredeleno. esli \\(d(a,b)=0\\), roboty uzhe stoyat vmeste. pust \\(d(a,b)=n>0\\), i pust \\(s=s_1s_2\\ldots s_n\\) - kratchayshee slovo, perevodyaschee \\(a\\) v tekuschuyu kletku \\(b\\). vo vremya vypolneniya slova \\(s\\) robot \\(a\\) ni razu ne u…","source_keys":["cmo"]}
{"id":"cmo-2015-p3-grid-hamiltonian-turtle","title":"Гамильтонов цикл в квадратной решётке, CMO 2015 P3","path":"data\\problems\\cmo\\cmo-2015-p3-grid-hamiltonian-turtle.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2015-p3-grid-hamiltonian-turtle.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2015-p3-grid-hamiltonian-turtle","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2015 официальные условия","Canadian Mathematical Olympiad 2015 официальные решения"],"year":"2015","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["hamiltonian_cycles","double_counting","goal_exact_bound","goal_construction"],"agent_topics":[],"difficulty":{"main":"national_final_medium","local_score":8,"comment":"CMO 2015 P3; официальное решение дает точную оценку через усреднение чисел входов и конструкцию гамильтонова цикла по четырем квадрантам.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Условие задачи","status":"ai_checked","text":"На квадратной сетке \\((4n+2)\\times(4n+2)\\) черепаха может переходить между клетками, имеющими общую сторону. Черепаха начинает в угловой клетке сетки, посещает каждую клетку ровно один раз, после чего возвращается в начальную клетку. В терминах \\(n\\) найдите наибольшее положительное целое число \\(k\\), такое что обязательно существует строка или столбец, в который черепаха вошла как минимум \\(k\\) различных раз.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Гамильтонов цикл в квадратной решётке","status":"ai_checked","text":"Пусть \\(m=4n+2\\), и пусть \\(G\\) - граф решетки \\(m\\times m\\), вершинами которого являются клетки доски \\(m\\times m\\), а ребра соединяют клетки с общей стороной. Гамильтонов цикл в \\(G\\) проходится, начиная с угловой вершины. Для каждого направленного ребра обхода: если оно идет вертикально в строку \\(i\\), прибавим единицу к \\(r_i\\); если оно идет горизонтально в столбец \\(j\\), прибавим единицу к \\(c_j\\). Найдите наибольшее целое число \\(k\\), такое что для каждого такого гамильтонова цикла хотя бы одно из чисел \\(r_1,\\ldots,r_m,c_1,\\ldots,c_m\\) не меньше \\(k\\).","definition_ids":["hamiltonian_cycle"]}],"graph_hint_reformulations":[{"id":"stmt-graph-hint-quadrants","title":"","status":"ai_checked","text":"Для примера, показывающего точность оценки, разбейте сетку \\((4n+2)\\times(4n+2)\\) на четыре квадранта \\((2n+1)\\times(2n+1)\\). Попробуйте пройти верхний правый квадрант по строкам, кроме его верхней строки, затем нижний правый квадрант по столбцам, затем нижний левый квадрант по строкам, затем верхний левый квадрант по столбцам, и наконец замкнуть цикл через верхнюю строку верхнего правого квадранта.","definition_ids":["hamiltonian_cycle"]}]},"solutions":[{"id":"sol-official-averaging-and-quadrants","title":"Усреднение и обход четырех квадрантов","status":"ai_checked","definition_ids":["hamiltonian_cycle"],"standard_idea_ids":["double_counting"],"tags":[],"has_text":true,"text_preview":"Ответ: \\(2n+2\\). Положим \\(m=4n+2\\). Пронумеруем строки сверху вниз, а столбцы слева направо. По симметрии можно считать, что черепаха начинает в правой верхней угловой клетке. Пусть \\(r_i\\) - число входов в строку \\(i\\), а \\(c_j\\) - число входов в столбец \\(j\\). Вертикальный ход всегда дает один вход в новую строку, горизонтальный ход - один вход в новый столбец. За полный замкнутый обход черепаха делает ровно \\(m^2\\) ходов: она входит в \\(m^2-1\\) новых клеток и последним ходом возвращается в начальную клетку. Каждый ход учитывается ровно один раз, либо как вход в строку, либо как вход в столбец. Поэтому \\[ r_1+\\cdots+r_m+c_1+\\cdots+c_m=m^2. \\] Этих чисел \\(2m\\), значит их среднее равно \\(m^2/(2m)=m/2=2n+1\\). Покажем, что все \\(2m\\) чисел не могут быть равны. Рассмотрим первый столбец. Войти в столбец 1 можно только из столбца 2. Так как обход замкнутый, каждому такому входу соответств…"}],"relations":[{"id":"rel-cmo-2015-p3-cmo-2026-p3-grid-hamiltonian-cycle","neighbor_id":"cmo-2026-p3-grid-hamiltonian-snail","direction":"forward","type":"same_motif","distance":2,"status":"needs_human_review"},{"id":"rel-cmo-2018-p3-cmo-2015-p3-grid-hamiltonian-cycles","neighbor_id":"cmo-2018-p3-divisor-prime-related-cycle","direction":"backward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-cmo-2025-p5-cmo-2015-grid-hamiltonian","neighbor_id":"cmo-2025-p5-ant-planar-graph","direction":"backward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-putnam-2005-grid-hamiltonian","neighbor_id":"putnam-2005-a2-rook-tours-grid-hamiltonian-paths","direction":"backward","type":"same_motif","distance":3,"status":"needs_human_review"}],"search_text":"cmo-2015-p3-grid-hamiltonian-turtle гамильтонов цикл в квадратной решётке, cmo 2015 p3 hamiltonian_cycles double_counting goal_exact_bound goal_construction 2015 canadian mathematical olympiad 2015 официальные решения canadian mathematical olympiad 2015 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2015 https://w7.cms.math.ca/competitions/cmo/archive/exam2015.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2015.pdf solution_notes src-cmo-2015-official src-cmo-2015-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2015 официальные условия canadian mathematical olympiad 2015 официальные решения stmt-original условие задачи ai_checked на квадратной сетке \\((4n+2)\\times(4n+2)\\) черепаха может переходить между клетками, имеющими общую сторону. черепаха начинает в угловой клетке сетки, посещает каждую клетку ровно один раз, после чего возвращается в начальную клетку. в терминах \\(n\\) найдите наибольшее положительное целое число \\(k\\), такое что обязательно существует строка или столбец, в который черепаха вошла как минимум \\(k\\) различных раз. stmt-graph гамильтонов цикл в квадратной решётке ai_checked пусть \\(m=4n+2\\), и пусть \\(g\\) - граф решетки \\(m\\times m\\), вершинами которого являются клетки доски \\(m\\times m\\), а ребра соединяют клетки с общей стороной. гамильтонов цикл в \\(g\\) проходится, начиная с угловой вершины. для каждого направленного ребра обхода: если оно идет вертикально в строку \\(i\\), прибавим единицу к \\(r_i\\); если оно идет горизонтально в столбец \\(j\\), прибавим единицу к \\(c_j\\). найдите наибольшее целое число \\(k\\), такое что для каждого такого гамильтонова цикла хотя бы одно из чисел \\(r_1,\\ldots,r_m,c_1,\\ldots,c_m\\) не меньше \\(k\\). hamiltonian_cycle stmt-graph-hint-quadrants ai_checked для примера, показывающего точность оценки, разбейте сетку \\((4n+2)\\times(4n+2)\\) на четыре квадранта \\((2n+1)\\times(2n+1)\\). попробуйте пройти верхний правый квадрант по строкам, кроме его верхней строки, затем нижний правый квадрант по столбцам, затем нижний левый квадрант по строкам, затем верхний левый квадрант по столбцам, и наконец замкнуть цикл через верхнюю строку верхнего правого квадранта. hamiltonian_cycle idea-row-column-average усреднение входов в строки и столбцы общее число входов в строки и столбцы в точности равно числу ходов в гамильтоновом цикле. поскольку числа входов в столбцы не могут все быть равны, хотя бы одно число входов строго больше среднего. hamiltonian_cycles double_counting ai_checked idea-four-quadrant-cycle змейковая конструкция по четырем квадрантам верхний правый, нижний правый, нижний левый и верхний левый квадранты можно пройти чередующимися горизонтальными и вертикальными змейками так, что ни в одну строку и ни в один столбец не будет больше \\(2n+2\\) входов. hamiltonian_cycles goal_construction ai_checked sol-official-averaging-and-quadrants усреднение и обход четырех квадрантов ai_checked hamiltonian_cycle double_counting ответ: \\(2n+2\\). положим \\(m=4n+2\\). пронумеруем строки сверху вниз, а столбцы слева направо. по симметрии можно считать, что черепаха начинает в правой верхней угловой клетке. пусть \\(r_i\\) - число входов в строку \\(i\\), а \\(c_j\\) - число входов в столбец \\(j\\). вертикальный ход всегда дает один вход в новую строку, горизонтальный ход - один вход в новый столбец. за полный замкнутый обход черепаха делает ровно \\(m^2\\) ходов: она входит в \\(m^2-1\\) новых клеток и последним ходом возвращается в начальную клетку. каждый ход учитывается ровно один раз, либо как вход в строку, либо как вход в столбец. поэтому \\[ r_1+\\cdots+r_m+c_1+\\cdots+c_m=m^2. \\] этих чисел \\(2m\\), значит их среднее равно \\(m^2/(2m)=m/2=2n+1\\). покажем, что все \\(2m\\) чисел не могут быть равны. рассмотрим первый столбец. войти в столбец 1 можно только из столбца 2. так как обход замкнутый, каждому такому входу соответств… cmo-2015-p3-grid-hamiltonian-turtle gamiltonov tsikl v kvadratnoy reshetke, cmo 2015 p3 hamiltonian_cycles double_counting goal_exact_bound goal_construction 2015 canadian mathematical olympiad 2015 ofitsialnye resheniya canadian mathematical olympiad 2015 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2015 https://w7.cms.math.ca/competitions/cmo/archive/exam2015.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2015.pdf solution_notes src-cmo-2015-official src-cmo-2015-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2015 ofitsialnye usloviya canadian mathematical olympiad 2015 ofitsialnye resheniya stmt-original uslovie zadachi ai_checked na kvadratnoy setke \\((4n+2)\\times(4n+2)\\) cherepaha mozhet perehodit mezhdu kletkami, imeyuschimi obschuyu storonu. cherepaha nachinaet v uglovoy kletke setki, poseschaet kazhduyu kletku rovno odin raz, posle chego vozvraschaetsya v nachalnuyu kletku. v terminah \\(n\\) naydite naibolshee polozhitelnoe tseloe chislo \\(k\\), takoe chto obyazatelno suschestvuet stroka ili stolbets, v kotoryy cherepaha voshla kak minimum \\(k\\) razlichnyh raz. stmt-graph gamiltonov tsikl v kvadratnoy reshetke ai_checked pust \\(m=4n+2\\), i pust \\(g\\) - graf reshetki \\(m\\times m\\), vershinami kotorogo yavlyayutsya kletki doski \\(m\\times m\\), a rebra soedinyayut kletki s obschey storonoy. gamiltonov tsikl v \\(g\\) prohoditsya, nachinaya s uglovoy vershiny. dlya kazhdogo napravlennogo rebra obhoda: esli ono idet vertikalno v stroku \\(i\\), pribavim edinitsu k \\(r_i\\); esli ono idet gorizontalno v stolbets \\(j\\), pribavim edinitsu k \\(c_j\\). naydite naibolshee tseloe chislo \\(k\\), takoe chto dlya kazhdogo takogo gamiltonova tsikla hotya by odno iz chisel \\(r_1,\\ldots,r_m,c_1,\\ldots,c_m\\) ne menshe \\(k\\). hamiltonian_cycle stmt-graph-hint-quadrants ai_checked dlya primera, pokazyvayuschego tochnost otsenki, razbeyte setku \\((4n+2)\\times(4n+2)\\) na chetyre kvadranta \\((2n+1)\\times(2n+1)\\). poprobuyte proyti verhniy pravyy kvadrant po strokam, krome ego verhney stroki, zatem nizhniy pravyy kvadrant po stolbtsam, zatem nizhniy levyy kvadrant po strokam, zatem verhniy levyy kvadrant po stolbtsam, i nakonets zamknut tsikl cherez verhnyuyu stroku verhnego pravogo kvadranta. hamiltonian_cycle idea-row-column-average usrednenie vhodov v stroki i stolbtsy obschee chislo vhodov v stroki i stolbtsy v tochnosti ravno chislu hodov v gamiltonovom tsikle. poskolku chisla vhodov v stolbtsy ne mogut vse byt ravny, hotya by odno chislo vhodov strogo bolshe srednego. hamiltonian_cycles double_counting ai_checked idea-four-quadrant-cycle zmeykovaya konstruktsiya po chetyrem kvadrantam verhniy pravyy, nizhniy pravyy, nizhniy levyy i verhniy levyy kvadranty mozhno proyti chereduyuschimisya gorizontalnymi i vertikalnymi zmeykami tak, chto ni v odnu stroku i ni v odin stolbets ne budet bolshe \\(2n+2\\) vhodov. hamiltonian_cycles goal_construction ai_checked sol-official-averaging-and-quadrants usrednenie i obhod chetyreh kvadrantov ai_checked hamiltonian_cycle double_counting otvet: \\(2n+2\\). polozhim \\(m=4n+2\\). pronumeruem stroki sverhu vniz, a stolbtsy sleva napravo. po simmetrii mozhno schitat, chto cherepaha nachinaet v pravoy verhney uglovoy kletke. pust \\(r_i\\) - chislo vhodov v stroku \\(i\\), a \\(c_j\\) - chislo vhodov v stolbets \\(j\\). vertikalnyy hod vsegda daet odin vhod v novuyu stroku, gorizontalnyy hod - odin vhod v novyy stolbets. za polnyy zamknutyy obhod cherepaha delaet rovno \\(m^2\\) hodov: ona vhodit v \\(m^2-1\\) novyh kletok i poslednim hodom vozvraschaetsya v nachalnuyu kletku. kazhdyy hod uchityvaetsya rovno odin raz, libo kak vhod v stroku, libo kak vhod v stolbets. poetomu \\[ r_1+\\cdots+r_m+c_1+\\cdots+c_m=m^2. \\] etih chisel \\(2m\\), znachit ih srednee ravno \\(m^2/(2m)=m/2=2n+1\\). pokazhem, chto vse \\(2m\\) chisel ne mogut byt ravny. rassmotrim pervyy stolbets. voyti v stolbets 1 mozhno tolko iz stolbtsa 2. tak kak obhod zamknutyy, kazhdomu takomu vhodu sootvetstv…","source_keys":["cmo"]}
{"id":"cmo-2018-p3-divisor-prime-related-cycle","title":"Гамильтонов цикл в графе делителей, CMO 2018 P3","path":"data\\problems\\cmo\\cmo-2018-p3-divisor-prime-related-cycle.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2018-p3-divisor-prime-related-cycle.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2018-p3-divisor-prime-related-cycle","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2018 официальные условия","Canadian Mathematical Olympiad 2018 официальные решения"],"year":"2018","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["hamiltonian_cycles","induction","goal_characterization"],"agent_topics":[],"difficulty":{"main":"national_final_medium","local_score":8,"comment":"CMO 2018 P3; официальное решение характеризует подходящие числа как ровно те числа, которые не являются ни квадратами, ни степенями одного простого.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Оригинальное условие","status":"ai_checked","text":"Назовём два положительных целых числа \\(a\\) и \\(b\\) связанными простым множителем, если \\(a=pb\\) или \\(b=pa\\) для некоторого простого числа \\(p\\). Найдите все положительные целые \\(n\\), у которых есть хотя бы три делителя и все делители можно без повторений расположить по окружности так, чтобы любые два соседних делителя были связаны простым множителем. Делители \\(1\\) и \\(n\\) тоже учитываются.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Гамильтоновы циклы в графах делителей","status":"ai_checked","text":"Для положительного целого \\(n\\) построим простой граф \\(G_n\\): его вершины — положительные делители \\(n\\), а две различные вершины смежны тогда и только тогда, когда одна получается из другой умножением на простое число. Охарактеризуйте все \\(n\\) с хотя бы тремя делителями, для которых в \\(G_n\\) есть гамильтонов цикл.","definition_ids":["simple_graph","hamiltonian_cycle"]}],"graph_hint_reformulations":[{"id":"stmt-exponent-lattice-hint","title":"","status":"ai_checked","text":"Пусть \\(n=p_1^{e_1}\\cdots p_t^{e_t}\\). Сопоставим делителю \\(p_1^{a_1}\\cdots p_t^{a_t}\\) точку решётки \\((a_1,\\ldots,a_t)\\), где \\(0\\le a_i\\le e_i\\). Тогда граф делителей — это решёточный граф \\(P_{e_1+1}\\square\\cdots\\square P_{e_t+1}\\). Охарактеризуйте, когда в этом графе есть гамильтонов цикл.","definition_ids":["hamiltonian_cycle"]}]},"solutions":[{"id":"sol-official-expanded","title":"Полная классификация через граф делителей","status":"ai_checked","definition_ids":["simple_graph","cycle","hamiltonian_cycle"],"standard_idea_ids":["induction"],"tags":[],"has_text":true,"text_preview":"Ответ: подходят ровно те положительные целые \\(n\\) с хотя бы тремя делителями, которые не являются ни полными квадратами, ни степенями одного простого числа. Сначала докажем необходимость. Пусть все делители подходящего числа \\(n\\) стоят на окружности в порядке \\[ d_1,d_2,\\ldots,d_k, \\] где индексы далее понимаются по модулю \\(k\\). Для каждого \\(i\\) соседние делители отличаются умножением или делением на один простой множитель, поэтому \\[ \\frac{d_{i+1}}{d_i}=p_i^{\\varepsilon_i},\\qquad \\varepsilon_i\\in\\{1,-1\\}. \\] Перемножая эти равенства по всем \\(i\\), получаем \\[ \\prod_{i=1}^k p_i^{\\varepsilon_i}=\\frac{d_2}{d_1}\\cdot\\frac{d_3}{d_2}\\cdots\\frac{d_1}{d_k}=1. \\] Значит, для каждого простого числа количество его появлений с показателем \\(+1\\) равно количеству появлений с показателем \\(-1\\). Поэтому общее число шагов \\(k\\), то есть число делителей \\(n\\), четно. Но число положительных делител…"}],"relations":[{"id":"rel-cmo-2018-p3-cmo-2015-p3-grid-hamiltonian-cycles","neighbor_id":"cmo-2015-p3-grid-hamiltonian-turtle","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-cmo-2018-p3-cmo-2026-p3-grid-snail","neighbor_id":"cmo-2026-p3-grid-hamiltonian-snail","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"}],"search_text":"cmo-2018-p3-divisor-prime-related-cycle гамильтонов цикл в графе делителей, cmo 2018 p3 hamiltonian_cycles induction goal_characterization 2018 canadian mathematical olympiad 2018 официальные решения canadian mathematical olympiad 2018 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2018 https://w7.cms.math.ca/competitions/cmo/archive/exam2018.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2018.pdf solution_notes src-cmo-2018-official src-cmo-2018-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2018 официальные условия canadian mathematical olympiad 2018 официальные решения stmt-original оригинальное условие ai_checked назовём два положительных целых числа \\(a\\) и \\(b\\) связанными простым множителем, если \\(a=pb\\) или \\(b=pa\\) для некоторого простого числа \\(p\\). найдите все положительные целые \\(n\\), у которых есть хотя бы три делителя и все делители можно без повторений расположить по окружности так, чтобы любые два соседних делителя были связаны простым множителем. делители \\(1\\) и \\(n\\) тоже учитываются. stmt-graph гамильтоновы циклы в графах делителей ai_checked для положительного целого \\(n\\) построим простой граф \\(g_n\\): его вершины — положительные делители \\(n\\), а две различные вершины смежны тогда и только тогда, когда одна получается из другой умножением на простое число. охарактеризуйте все \\(n\\) с хотя бы тремя делителями, для которых в \\(g_n\\) есть гамильтонов цикл. simple_graph hamiltonian_cycle stmt-exponent-lattice-hint ai_checked пусть \\(n=p_1^{e_1}\\cdots p_t^{e_t}\\). сопоставим делителю \\(p_1^{a_1}\\cdots p_t^{a_t}\\) точку решётки \\((a_1,\\ldots,a_t)\\), где \\(0\\le a_i\\le e_i\\). тогда граф делителей — это решёточный граф \\(p_{e_1+1}\\square\\cdots\\square p_{e_t+1}\\). охарактеризуйте, когда в этом графе есть гамильтонов цикл. hamiltonian_cycle idea-edge-label-balance метки рёбер в замкнутом цикле делителей уравновешиваются при движении по циклу каждый шаг умножает или делит на одно простое число. если перемножить все отношения соседних делителей по циклу, получится \\(1\\), поэтому каждое простое появляется одинаковое число раз со знаками \\(+1\\) и \\(-1\\). значит, число шагов, равное числу делителей, чётно. hamiltonian_cycles ai_checked idea-even-grid-cycle чётная сторона решётки делителей даёт цикл если есть хотя бы два простых направления и один показатель нечётен, то граф делителей имеет хотя бы две размерности и одну чётную сторону. в прямоугольной решётке с чётной стороной есть явный гамильтонов цикл, а новые простые направления можно добавлять послойно. hamiltonian_cycles induction ai_checked sol-official-expanded полная классификация через граф делителей ai_checked simple_graph cycle hamiltonian_cycle induction ответ: подходят ровно те положительные целые \\(n\\) с хотя бы тремя делителями, которые не являются ни полными квадратами, ни степенями одного простого числа. сначала докажем необходимость. пусть все делители подходящего числа \\(n\\) стоят на окружности в порядке \\[ d_1,d_2,\\ldots,d_k, \\] где индексы далее понимаются по модулю \\(k\\). для каждого \\(i\\) соседние делители отличаются умножением или делением на один простой множитель, поэтому \\[ \\frac{d_{i+1}}{d_i}=p_i^{\\varepsilon_i},\\qquad \\varepsilon_i\\in\\{1,-1\\}. \\] перемножая эти равенства по всем \\(i\\), получаем \\[ \\prod_{i=1}^k p_i^{\\varepsilon_i}=\\frac{d_2}{d_1}\\cdot\\frac{d_3}{d_2}\\cdots\\frac{d_1}{d_k}=1. \\] значит, для каждого простого числа количество его появлений с показателем \\(+1\\) равно количеству появлений с показателем \\(-1\\). поэтому общее число шагов \\(k\\), то есть число делителей \\(n\\), четно. но число положительных делител… cmo-2018-p3-divisor-prime-related-cycle gamiltonov tsikl v grafe deliteley, cmo 2018 p3 hamiltonian_cycles induction goal_characterization 2018 canadian mathematical olympiad 2018 ofitsialnye resheniya canadian mathematical olympiad 2018 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2018 https://w7.cms.math.ca/competitions/cmo/archive/exam2018.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2018.pdf solution_notes src-cmo-2018-official src-cmo-2018-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2018 ofitsialnye usloviya canadian mathematical olympiad 2018 ofitsialnye resheniya stmt-original originalnoe uslovie ai_checked nazovem dva polozhitelnyh tselyh chisla \\(a\\) i \\(b\\) svyazannymi prostym mnozhitelem, esli \\(a=pb\\) ili \\(b=pa\\) dlya nekotorogo prostogo chisla \\(p\\). naydite vse polozhitelnye tselye \\(n\\), u kotoryh est hotya by tri delitelya i vse deliteli mozhno bez povtoreniy raspolozhit po okruzhnosti tak, chtoby lyubye dva sosednih delitelya byli svyazany prostym mnozhitelem. deliteli \\(1\\) i \\(n\\) tozhe uchityvayutsya. stmt-graph gamiltonovy tsikly v grafah deliteley ai_checked dlya polozhitelnogo tselogo \\(n\\) postroim prostoy graf \\(g_n\\): ego vershiny — polozhitelnye deliteli \\(n\\), a dve razlichnye vershiny smezhny togda i tolko togda, kogda odna poluchaetsya iz drugoy umnozheniem na prostoe chislo. oharakterizuyte vse \\(n\\) s hotya by tremya delitelyami, dlya kotoryh v \\(g_n\\) est gamiltonov tsikl. simple_graph hamiltonian_cycle stmt-exponent-lattice-hint ai_checked pust \\(n=p_1^{e_1}\\cdots p_t^{e_t}\\). sopostavim delitelyu \\(p_1^{a_1}\\cdots p_t^{a_t}\\) tochku reshetki \\((a_1,\\ldots,a_t)\\), gde \\(0\\le a_i\\le e_i\\). togda graf deliteley — eto reshetochnyy graf \\(p_{e_1+1}\\square\\cdots\\square p_{e_t+1}\\). oharakterizuyte, kogda v etom grafe est gamiltonov tsikl. hamiltonian_cycle idea-edge-label-balance metki reber v zamknutom tsikle deliteley uravnoveshivayutsya pri dvizhenii po tsiklu kazhdyy shag umnozhaet ili delit na odno prostoe chislo. esli peremnozhit vse otnosheniya sosednih deliteley po tsiklu, poluchitsya \\(1\\), poetomu kazhdoe prostoe poyavlyaetsya odinakovoe chislo raz so znakami \\(+1\\) i \\(-1\\). znachit, chislo shagov, ravnoe chislu deliteley, chetno. hamiltonian_cycles ai_checked idea-even-grid-cycle chetnaya storona reshetki deliteley daet tsikl esli est hotya by dva prostyh napravleniya i odin pokazatel necheten, to graf deliteley imeet hotya by dve razmernosti i odnu chetnuyu storonu. v pryamougolnoy reshetke s chetnoy storonoy est yavnyy gamiltonov tsikl, a novye prostye napravleniya mozhno dobavlyat posloyno. hamiltonian_cycles induction ai_checked sol-official-expanded polnaya klassifikatsiya cherez graf deliteley ai_checked simple_graph cycle hamiltonian_cycle induction otvet: podhodyat rovno te polozhitelnye tselye \\(n\\) s hotya by tremya delitelyami, kotorye ne yavlyayutsya ni polnymi kvadratami, ni stepenyami odnogo prostogo chisla. snachala dokazhem neobhodimost. pust vse deliteli podhodyaschego chisla \\(n\\) stoyat na okruzhnosti v poryadke \\[ d_1,d_2,\\ldots,d_k, \\] gde indeksy dalee ponimayutsya po modulyu \\(k\\). dlya kazhdogo \\(i\\) sosednie deliteli otlichayutsya umnozheniem ili deleniem na odin prostoy mnozhitel, poetomu \\[ \\frac{d_{i+1}}{d_i}=p_i^{\\varepsilon_i},\\qquad \\varepsilon_i\\in\\{1,-1\\}. \\] peremnozhaya eti ravenstva po vsem \\(i\\), poluchaem \\[ \\prod_{i=1}^k p_i^{\\varepsilon_i}=\\frac{d_2}{d_1}\\cdot\\frac{d_3}{d_2}\\cdots\\frac{d_1}{d_k}=1. \\] znachit, dlya kazhdogo prostogo chisla kolichestvo ego poyavleniy s pokazatelem \\(+1\\) ravno kolichestvu poyavleniy s pokazatelem \\(-1\\). poetomu obschee chislo shagov \\(k\\), to est chislo deliteley \\(n\\), chetno. no chislo polozhitelnyh delitel…","source_keys":["cmo"]}
{"id":"cmo-2019-p5-odd-cycle-edge-game","title":"Игра в добавление рёбер до первого нечётного цикла и её варианты","path":"data\\problems\\cmo\\cmo-2019-p5-odd-cycle-edge-game.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2019-p5-odd-cycle-edge-game.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2019-p5-odd-cycle-edge-game","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2019 официальные условия","Canadian Mathematical Olympiad 2019 официальные решения","38-я Летняя конференция Турнира городов 2026, проект 2 «Игры на меняющихся графах»","ЛКТГ 2026, проект 2 «Игры на меняющихся графах»: условия, русская редакция 7","ЛКТГ 2026, проект 2 «Игры на меняющихся графах»: решения, русская редакция 7"],"year":"2019","type":"olympiad_problem","authors":[],"tags":["goal_strategy_game","coloring","matching","extremal_graph_theory","symmetrization","graph_symmetry","invariant","goal_classification"],"agent_topics":["game_strategy"],"difficulty":{"main":"national_final_hard","local_score":9,"comment":"CMO 2019 P5; сложная стратегическая графовая игра с инвариантом двудольности, паросочетанием на активных вершинах и финальным паритетным противоречием.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Официальная формулировка","status":"ai_checked","text":"Дэвид и Джейкоб играют в игру на \\(n\\ge 3\\) точках плоскости, никакие три из которых не лежат на одной прямой. За ход игрок выбирает две точки, ещё не соединённые отрезком, и проводит между ними новый отрезок. Проигрывает тот игрок, чей ход впервые завершает цикл, состоящий из нечётного числа уже проведённых отрезков. В таком цикле концами каждого отрезка должны быть исходные \\(n\\) точек, а не точки пересечения отрезков, возникшие позже. Дэвид ходит первым. Определите все \\(n\\), при которых у Дэвида есть выигрышная стратегия.","definition_ids":["cycle"]}],"graph_theory":[{"id":"stmt-graph","title":"Игра до первого нечётного цикла","status":"ai_checked","text":"На множестве из \\(n\\ge 3\\) вершин изначально нет рёбер. Два игрока по очереди добавляют по одному ещё отсутствующему ребру полного графа \\(K_n\\); первым ходит первый игрок. Проигрывает тот игрок, после чьего хода построенный граф впервые содержит цикл нечётной длины. Определите все \\(n\\), при которых первый игрок имеет выигрышную стратегию.","definition_ids":["complete_graph","cycle"]}],"graph_hint_reformulations":[{"id":"stmt-hint-bipartite-game","title":"Подсказка через двудольность","status":"ai_checked","text":"До проигрышного хода построенный граф не содержит нечётных циклов, то есть остаётся двудольным. Назовём ход безопасным, если после добавления выбранного ребра граф всё ещё двудолен. Если безопасных ходов нет, то текущий двудольный граф уже является полным двудольным графом относительно своей двудольной раскраски, и следующий игрок вынужден проиграть. В этих терминах нужно определить, кто может гарантировать себе наличие безопасного хода на каждом своём ходе до проигрыша соперника.","definition_ids":["bipartite_graph","cycle"]}],"olympiad_reformulations":[{"id":"stmt-lktg-no-isolated-pair","title":"Вариант с запретом соединять две изолированные вершины","status":"source_verified","text":"Изменим правила: после первого хода Пети запрещается соединять ребром две изолированные вершины. Докажите, что при каждом чётном \\(n\\) выигрывает Петя.","definition_ids":["cycle","bipartite_graph","matching"]}]},"solutions":[{"id":"sol-official-ru-expanded","title":"Решение через двудольность, паросочетание и паритет","status":"ai_checked","definition_ids":["complete_graph","bipartite_graph","matching","cycle"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Ответ: Дэвид имеет выигрышную стратегию тогда и только тогда, когда \\(n\\equiv 2\\pmod 4\\). Перейдём к графовой формулировке: исходные точки считаем вершинами, а проведённые отрезки — рёбрами. Пересечения отрезков внутри плоскости не имеют значения, потому что в циклах разрешены только исходные точки как вершины. До проигрышного хода построенный граф не содержит нечётных циклов, а значит является двудольным. Будем называть ход безопасным, если после добавления ребра граф всё ещё не содержит нечётного цикла. Если перед ходом безопасных ходов нет, игрок всё равно обязан добавить какое-то ещё отсутствующее ребро и тем самым проигрывает. Разберём сначала нечётное \\(n\\). Покажем, что Джейкоб может играть очень просто: на каждом своём ходе, если безопасный ход существует, он делает любой безопасный ход. Предположим, что перед некоторым ходом Джейкоба безопасных ходов не осталось. Текущий граф д…"},{"id":"sol-lktg-no-isolated-pair","title":"Симметрическая стратегия в варианте без новых компонент","status":"ai_checked","definition_ids":["cycle","bipartite_graph","matching"],"standard_idea_ids":["symmetrization"],"tags":[],"has_text":true,"text_preview":"Пусть \\(n\\) чётно. Первым ходом Петя добавляет ребро \\(ab\\). Он фиксирует инволюцию \\(\\sigma\\): вершины \\(a,b\\) неподвижны, а все остальные разбиты на пары \\(x,\\sigma(x)\\). После каждого своего хода Петя поддерживает инварианты: граф сохраняется преобразованием \\(\\sigma\\); обе вершины каждой уже активной пары \\(x,\\sigma(x)\\) лежат в одной доле двудольного графа; все неизолированные вершины образуют одну компоненту. Последнее верно, потому что после первого хода правила запрещают начинать новую компоненту ребром между двумя изолированными вершинами. Пусть Вася сделал безопасный ход. Если он присоединил изолированную вершину \\(x\\) ребром \\(vx\\), Петя добавляет \\(\\sigma(v)\\sigma(x)\\). Вершина \\(\\sigma(x)\\) тоже была изолирована, поэтому ход разрешён и безопасен. Если Вася добавил ребро \\(uv\\) между активными вершинами, Петя добавляет \\(\\sigma(u)\\sigma(v)\\). Это другое ещё не добавленное ре…"}],"relations":[{"id":"rel-cmo-2019-p5-mantel-complete-bipartite","neighbor_id":"mantel-theorem","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2019-p5-utyum-2018-cycle-game","neighbor_id":"utyum-2018_komol_7_red_blue_cycle_game","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2019-p5-kolmogorov-complete-graph-game","neighbor_id":"kolmogorov-2014-round1-complete-graph-orientation-game","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-spbmo-2018-7-p7-cmo-2019-odd-cycle-avoidance","neighbor_id":"spbmo-2018-7-p7-bus-graph-no-odd-cycle-paths","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cubic-polyhedron-large-face-fork-cmo-2019-game","neighbor_id":"cubic-polyhedron-large-face-fork-strategy-lemma","direction":"backward","type":"same_motif","distance":4,"status":"needs_human_review"},{"id":"rel-simon-marais-2020-a1-odd-cycle","neighbor_id":"simon-marais-2020-a1-odd-cycle-line-transversal","direction":"backward","type":"same_motif","distance":3,"status":"needs_human_review"}],"search_text":"cmo-2019-p5-odd-cycle-edge-game игра в добавление рёбер до первого нечётного цикла и её варианты goal_strategy_game coloring matching extremal_graph_theory symmetrization graph_symmetry invariant goal_classification 2019 38-я летняя конференция турнира городов 2026, проект 2 «игры на меняющихся графах» canadian mathematical olympiad 2019 официальные решения canadian mathematical olympiad 2019 официальные условия cmo cmo2019 https://turgor.ru/lktg/2026/2/2-1-changing_graphs-rus.pdf https://turgor.ru/lktg/2026/2/2-1-changing_graphs-sol-rus.pdf https://turgor.ru/lktg/2026/2/index.html https://w7.cms.math.ca/competitions/cmo/archive/exam2019.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2019.pdf official_archive official_solutions olympiad_archive solution_notes src-cmo-2019-official src-cmo-2019-solutions src-lktg-2026-project2-page src-lktg-2026-project2-problems-ru src-lktg-2026-project2-solutions-ru statement with_solution лктг 2026, проект 2 «игры на меняющихся графах»: решения, русская редакция 7 лктг 2026, проект 2 «игры на меняющихся графах»: условия, русская редакция 7 ? canadian mathematical olympiad 2019 официальные условия canadian mathematical olympiad 2019 официальные решения 38-я летняя конференция турнира городов 2026, проект 2 «игры на меняющихся графах» лктг 2026, проект 2 «игры на меняющихся графах»: условия, русская редакция 7 лктг 2026, проект 2 «игры на меняющихся графах»: решения, русская редакция 7 stmt-original официальная формулировка ai_checked дэвид и джейкоб играют в игру на \\(n\\ge 3\\) точках плоскости, никакие три из которых не лежат на одной прямой. за ход игрок выбирает две точки, ещё не соединённые отрезком, и проводит между ними новый отрезок. проигрывает тот игрок, чей ход впервые завершает цикл, состоящий из нечётного числа уже проведённых отрезков. в таком цикле концами каждого отрезка должны быть исходные \\(n\\) точек, а не точки пересечения отрезков, возникшие позже. дэвид ходит первым. определите все \\(n\\), при которых у дэвида есть выигрышная стратегия. cycle stmt-graph игра до первого нечётного цикла ai_checked на множестве из \\(n\\ge 3\\) вершин изначально нет рёбер. два игрока по очереди добавляют по одному ещё отсутствующему ребру полного графа \\(k_n\\); первым ходит первый игрок. проигрывает тот игрок, после чьего хода построенный граф впервые содержит цикл нечётной длины. определите все \\(n\\), при которых первый игрок имеет выигрышную стратегию. complete_graph cycle stmt-hint-bipartite-game подсказка через двудольность ai_checked до проигрышного хода построенный граф не содержит нечётных циклов, то есть остаётся двудольным. назовём ход безопасным, если после добавления выбранного ребра граф всё ещё двудолен. если безопасных ходов нет, то текущий двудольный граф уже является полным двудольным графом относительно своей двудольной раскраски, и следующий игрок вынужден проиграть. в этих терминах нужно определить, кто может гарантировать себе наличие безопасного хода на каждом своём ходе до проигрыша соперника. bipartite_graph cycle stmt-lktg-no-isolated-pair вариант с запретом соединять две изолированные вершины source_verified изменим правила: после первого хода пети запрещается соединять ребром две изолированные вершины. докажите, что при каждом чётном \\(n\\) выигрывает петя. cycle bipartite_graph matching idea-odd-cycle-bipartite нечётный цикл запрещён ровно до нарушения двудольности пока никто не проиграл, построенный граф двудолен. безопасные ходы — это в точности добавления ещё отсутствующего ребра между разными долями некоторой двудольной раскраски текущего графа. coloring goal_strategy_game ai_checked idea-good-graph-matching сохранять паросочетание на активных вершинах при чётном \\(n\\) полезно следить за графами, в которых все вершины положительной степени покрываются паросочетанием. игрок, контролирующий такие позиции, может законно расширять множество активных вершин как минимум на две. matching goal_strategy_game ai_checked idea-complete-bipartite-parity конечная позиция — полный двудольный граф, а выигрывает паритет если безопасных ходов не осталось, текущий граф должен быть полным двудольным графом \\(k_{a,b}\\). тогда число уже сделанных ходов равно \\(ab\\), и его чётность сравнивается с тем, чей сейчас ход. goal_strategy_game ai_checked idea-involution-symmetry инволюция после первого ребра в изменённой игре петя фиксирует концы первого ребра и попарно переставляет остальные вершины, отвечая образом хода васи; активная компонента остаётся единственной, а размеры долей в конце нечётны. symmetrization graph_symmetry ai_checked sol-official-ru-expanded решение через двудольность, паросочетание и паритет ai_checked complete_graph bipartite_graph matching cycle ответ: дэвид имеет выигрышную стратегию тогда и только тогда, когда \\(n\\equiv 2\\pmod 4\\). перейдём к графовой формулировке: исходные точки считаем вершинами, а проведённые отрезки — рёбрами. пересечения отрезков внутри плоскости не имеют значения, потому что в циклах разрешены только исходные точки как вершины. до проигрышного хода построенный граф не содержит нечётных циклов, а значит является двудольным. будем называть ход безопасным, если после добавления ребра граф всё ещё не содержит нечётного цикла. если перед ходом безопасных ходов нет, игрок всё равно обязан добавить какое-то ещё отсутствующее ребро и тем самым проигрывает. разберём сначала нечётное \\(n\\). покажем, что джейкоб может играть очень просто: на каждом своём ходе, если безопасный ход существует, он делает любой безопасный ход. предположим, что перед некоторым ходом джейкоба безопасных ходов не осталось. текущий граф д… sol-lktg-no-isolated-pair симметрическая стратегия в варианте без новых компонент ai_checked cycle bipartite_graph matching symmetrization пусть \\(n\\) чётно. первым ходом петя добавляет ребро \\(ab\\). он фиксирует инволюцию \\(\\sigma\\): вершины \\(a,b\\) неподвижны, а все остальные разбиты на пары \\(x,\\sigma(x)\\). после каждого своего хода петя поддерживает инварианты: граф сохраняется преобразованием \\(\\sigma\\); обе вершины каждой уже активной пары \\(x,\\sigma(x)\\) лежат в одной доле двудольного графа; все неизолированные вершины образуют одну компоненту. последнее верно, потому что после первого хода правила запрещают начинать новую компоненту ребром между двумя изолированными вершинами. пусть вася сделал безопасный ход. если он присоединил изолированную вершину \\(x\\) ребром \\(vx\\), петя добавляет \\(\\sigma(v)\\sigma(x)\\). вершина \\(\\sigma(x)\\) тоже была изолирована, поэтому ход разрешён и безопасен. если вася добавил ребро \\(uv\\) между активными вершинами, петя добавляет \\(\\sigma(u)\\sigma(v)\\). это другое ещё не добавленное ре… cmo-2019-p5-odd-cycle-edge-game igra v dobavlenie reber do pervogo nechetnogo tsikla i ee varianty goal_strategy_game coloring matching extremal_graph_theory symmetrization graph_symmetry invariant goal_classification 2019 38-ya letnyaya konferentsiya turnira gorodov 2026, proekt 2 «igry na menyayuschihsya grafah» canadian mathematical olympiad 2019 ofitsialnye resheniya canadian mathematical olympiad 2019 ofitsialnye usloviya cmo cmo2019 https://turgor.ru/lktg/2026/2/2-1-changing_graphs-rus.pdf https://turgor.ru/lktg/2026/2/2-1-changing_graphs-sol-rus.pdf https://turgor.ru/lktg/2026/2/index.html https://w7.cms.math.ca/competitions/cmo/archive/exam2019.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2019.pdf official_archive official_solutions olympiad_archive solution_notes src-cmo-2019-official src-cmo-2019-solutions src-lktg-2026-project2-page src-lktg-2026-project2-problems-ru src-lktg-2026-project2-solutions-ru statement with_solution lktg 2026, proekt 2 «igry na menyayuschihsya grafah»: resheniya, russkaya redaktsiya 7 lktg 2026, proekt 2 «igry na menyayuschihsya grafah»: usloviya, russkaya redaktsiya 7 ? canadian mathematical olympiad 2019 ofitsialnye usloviya canadian mathematical olympiad 2019 ofitsialnye resheniya 38-ya letnyaya konferentsiya turnira gorodov 2026, proekt 2 «igry na menyayuschihsya grafah» lktg 2026, proekt 2 «igry na menyayuschihsya grafah»: usloviya, russkaya redaktsiya 7 lktg 2026, proekt 2 «igry na menyayuschihsya grafah»: resheniya, russkaya redaktsiya 7 stmt-original ofitsialnaya formulirovka ai_checked devid i dzheykob igrayut v igru na \\(n\\ge 3\\) tochkah ploskosti, nikakie tri iz kotoryh ne lezhat na odnoy pryamoy. za hod igrok vybiraet dve tochki, esche ne soedinennye otrezkom, i provodit mezhdu nimi novyy otrezok. proigryvaet tot igrok, chey hod vpervye zavershaet tsikl, sostoyaschiy iz nechetnogo chisla uzhe provedennyh otrezkov. v takom tsikle kontsami kazhdogo otrezka dolzhny byt ishodnye \\(n\\) tochek, a ne tochki peresecheniya otrezkov, voznikshie pozzhe. devid hodit pervym. opredelite vse \\(n\\), pri kotoryh u devida est vyigryshnaya strategiya. cycle stmt-graph igra do pervogo nechetnogo tsikla ai_checked na mnozhestve iz \\(n\\ge 3\\) vershin iznachalno net reber. dva igroka po ocheredi dobavlyayut po odnomu esche otsutstvuyuschemu rebru polnogo grafa \\(k_n\\); pervym hodit pervyy igrok. proigryvaet tot igrok, posle chego hoda postroennyy graf vpervye soderzhit tsikl nechetnoy dliny. opredelite vse \\(n\\), pri kotoryh pervyy igrok imeet vyigryshnuyu strategiyu. complete_graph cycle stmt-hint-bipartite-game podskazka cherez dvudolnost ai_checked do proigryshnogo hoda postroennyy graf ne soderzhit nechetnyh tsiklov, to est ostaetsya dvudolnym. nazovem hod bezopasnym, esli posle dobavleniya vybrannogo rebra graf vse esche dvudolen. esli bezopasnyh hodov net, to tekuschiy dvudolnyy graf uzhe yavlyaetsya polnym dvudolnym grafom otnositelno svoey dvudolnoy raskraski, i sleduyuschiy igrok vynuzhden proigrat. v etih terminah nuzhno opredelit, kto mozhet garantirovat sebe nalichie bezopasnogo hoda na kazhdom svoem hode do proigrysha sopernika. bipartite_graph cycle stmt-lktg-no-isolated-pair variant s zapretom soedinyat dve izolirovannye vershiny source_verified izmenim pravila: posle pervogo hoda peti zapreschaetsya soedinyat rebrom dve izolirovannye vershiny. dokazhite, chto pri kazhdom chetnom \\(n\\) vyigryvaet petya. cycle bipartite_graph matching idea-odd-cycle-bipartite nechetnyy tsikl zapreschen rovno do narusheniya dvudolnosti poka nikto ne proigral, postroennyy graf dvudolen. bezopasnye hody — eto v tochnosti dobavleniya esche otsutstvuyuschego rebra mezhdu raznymi dolyami nekotoroy dvudolnoy raskraski tekuschego grafa. coloring goal_strategy_game ai_checked idea-good-graph-matching sohranyat parosochetanie na aktivnyh vershinah pri chetnom \\(n\\) polezno sledit za grafami, v kotoryh vse vershiny polozhitelnoy stepeni pokryvayutsya parosochetaniem. igrok, kontroliruyuschiy takie pozitsii, mozhet zakonno rasshiryat mnozhestvo aktivnyh vershin kak minimum na dve. matching goal_strategy_game ai_checked idea-complete-bipartite-parity konechnaya pozitsiya — polnyy dvudolnyy graf, a vyigryvaet paritet esli bezopasnyh hodov ne ostalos, tekuschiy graf dolzhen byt polnym dvudolnym grafom \\(k_{a,b}\\). togda chislo uzhe sdelannyh hodov ravno \\(ab\\), i ego chetnost sravnivaetsya s tem, chey seychas hod. goal_strategy_game ai_checked idea-involution-symmetry involyutsiya posle pervogo rebra v izmenennoy igre petya fiksiruet kontsy pervogo rebra i poparno perestavlyaet ostalnye vershiny, otvechaya obrazom hoda vasi; aktivnaya komponenta ostaetsya edinstvennoy, a razmery doley v kontse nechetny. symmetrization graph_symmetry ai_checked sol-official-ru-expanded reshenie cherez dvudolnost, parosochetanie i paritet ai_checked complete_graph bipartite_graph matching cycle otvet: devid imeet vyigryshnuyu strategiyu togda i tolko togda, kogda \\(n\\equiv 2\\pmod 4\\). pereydem k grafovoy formulirovke: ishodnye tochki schitaem vershinami, a provedennye otrezki — rebrami. peresecheniya otrezkov vnutri ploskosti ne imeyut znacheniya, potomu chto v tsiklah razresheny tolko ishodnye tochki kak vershiny. do proigryshnogo hoda postroennyy graf ne soderzhit nechetnyh tsiklov, a znachit yavlyaetsya dvudolnym. budem nazyvat hod bezopasnym, esli posle dobavleniya rebra graf vse esche ne soderzhit nechetnogo tsikla. esli pered hodom bezopasnyh hodov net, igrok vse ravno obyazan dobavit kakoe-to esche otsutstvuyuschee rebro i tem samym proigryvaet. razberem snachala nechetnoe \\(n\\). pokazhem, chto dzheykob mozhet igrat ochen prosto: na kazhdom svoem hode, esli bezopasnyy hod suschestvuet, on delaet lyuboy bezopasnyy hod. predpolozhim, chto pered nekotorym hodom dzheykoba bezopasnyh hodov ne ostalos. tekuschiy graf d… sol-lktg-no-isolated-pair simmetricheskaya strategiya v variante bez novyh komponent ai_checked cycle bipartite_graph matching symmetrization pust \\(n\\) chetno. pervym hodom petya dobavlyaet rebro \\(ab\\). on fiksiruet involyutsiyu \\(\\sigma\\): vershiny \\(a,b\\) nepodvizhny, a vse ostalnye razbity na pary \\(x,\\sigma(x)\\). posle kazhdogo svoego hoda petya podderzhivaet invarianty: graf sohranyaetsya preobrazovaniem \\(\\sigma\\); obe vershiny kazhdoy uzhe aktivnoy pary \\(x,\\sigma(x)\\) lezhat v odnoy dole dvudolnogo grafa; vse neizolirovannye vershiny obrazuyut odnu komponentu. poslednee verno, potomu chto posle pervogo hoda pravila zapreschayut nachinat novuyu komponentu rebrom mezhdu dvumya izolirovannymi vershinami. pust vasya sdelal bezopasnyy hod. esli on prisoedinil izolirovannuyu vershinu \\(x\\) rebrom \\(vx\\), petya dobavlyaet \\(\\sigma(v)\\sigma(x)\\). vershina \\(\\sigma(x)\\) tozhe byla izolirovana, poetomu hod razreshen i bezopasen. esli vasya dobavil rebro \\(uv\\) mezhdu aktivnymi vershinami, petya dobavlyaet \\(\\sigma(u)\\sigma(v)\\). eto drugoe esche ne dobavlennoe re…","source_keys":["cmo","lktg"]}
{"id":"cmo-2020-p5-friendship-induced-subgraphs","title":"Минимум рёбер при плотных половинных подграфах, CMO 2020 P5","path":"data\\problems\\cmo\\cmo-2020-p5-friendship-induced-subgraphs.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2020-p5-friendship-induced-subgraphs.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2020-p5-friendship-induced-subgraphs","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2020 официальные условия","Canadian Mathematical Olympiad 2020 официальные решения"],"year":"2020","type":"olympiad_problem","authors":["Канадское математическое общество"],"tags":["extremal_graph_theory","extremal_choice","double_counting","goal_exact_bound"],"agent_topics":[],"difficulty":{"main":"national_final_hard","local_score":9,"comment":"CMO 2020 P5; точная экстремальная задача на графах. Конструкция проста, а нижняя оценка использует нетривиальный обмен для минимальной половины вершин.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Оригинальное условие","status":"source_verified","text":"В социальной сети есть \\(19998\\) человек; каждая пара людей может быть дружна или не дружна. Для любой группы из \\(9999\\) человек среди них есть по крайней мере \\(9999\\) пар друзей. Каково наименьшее возможное число дружб, то есть пар друзей, среди всех \\(19998\\) человек?","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Половинные индуцированные подграфы с многими рёбрами","status":"ai_checked","text":"Пусть \\(G\\) — конечный простой граф на \\(19998\\) вершинах. Предположим, что каждый индуцированный подграф на ровно \\(9999\\) вершинах содержит по крайней мере \\(9999\\) рёбер. Найдите минимально возможное значение \\(e(G)\\).","definition_ids":["simple_graph","induced_subgraph"]}],"graph_hint_reformulations":[{"id":"stmt-graph-construction-hint","title":"Формулировка с подсказкой конструкции","status":"ai_checked","text":"Докажите, что минимум равен \\(49995\\). Он достигается на несвязном объединении \\(3333\\) копий \\(K_6\\); также нужно доказать, что любой граф с условием на половинные индуцированные подграфы имеет не меньше \\(49995\\) рёбер.","definition_ids":["simple_graph","complete_graph"]}]},"solutions":[{"id":"sol-official-russian-expanded","title":"Решение через минимальную половину вершин","status":"ai_checked","definition_ids":["simple_graph","complete_graph","degree"],"standard_idea_ids":["extremal_choice","double_counting"],"tags":[],"has_text":true,"text_preview":"Ответ: \\(49995\\). Сначала построим пример с таким числом дружб. Разобьем \\(19998\\) человек на \\(3333\\) групп по \\(6\\) человек. Внутри каждой группы все пары дружат, а между разными группами дружб нет. Тогда всего дружб \\[ 3333\\binom 62=3333\\cdot 15=49995. \\] Проверим условие. Возьмем любые \\(9999\\) человек и пусть \\(x_i\\) — сколько из них попало в \\(i\\)-ю шестерку, \\(i=1,\\ldots,3333\\). Тогда \\(0\\le x_i\\le 6\\) и \\(\\sum x_i=9999\\). Число дружеских пар внутри выбранных \\(9999\\) человек равно \\[ \\sum_{i=1}^{3333}\\binom{x_i}{2}=\\frac12\\sum_{i=1}^{3333}x_i(x_i-1). \\] Для каждого целого \\(x\\in\\{0,1,2,3,4,5,6\\}\\) верно \\[ x(x-1)\\ge 5x-9. \\] Это можно проверить напрямую для семи возможных значений. Поэтому \\[ \\sum_{i=1}^{3333}\\binom{x_i}{2} \\ge \\frac12\\sum_{i=1}^{3333}(5x_i-9) =\\frac12(5\\cdot9999-9\\cdot3333)=9999. \\] Значит, построение действительно удовлетворяет условию. Осталось доказать, что…"}],"relations":[{"id":"rel-cmo-2020-p5-minimal-half-exchange","neighbor_id":"minimal-half-subset-exchange-lemma","direction":"forward","type":"prerequisite","distance":1,"status":"ai_checked"},{"id":"rel-cmo-2023-p5-cmo-2020-p5-disjoint-cliques","neighbor_id":"cmo-2023-p5-cut-bound-independent-set","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"}],"search_text":"cmo-2020-p5-friendship-induced-subgraphs минимум рёбер при плотных половинных подграфах, cmo 2020 p5 extremal_graph_theory extremal_choice double_counting goal_exact_bound 2020 canadian mathematical olympiad 2020 официальные решения canadian mathematical olympiad 2020 официальные условия cmo cmo2020 https://w7.cms.math.ca/competitions/cmo/archive/exam2020.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2020.pdf solution_notes src-cmo-2020-official src-cmo-2020-solutions statement with_solution канадское математическое общество канадское математическое общество canadian mathematical olympiad 2020 официальные условия canadian mathematical olympiad 2020 официальные решения stmt-original оригинальное условие source_verified в социальной сети есть \\(19998\\) человек; каждая пара людей может быть дружна или не дружна. для любой группы из \\(9999\\) человек среди них есть по крайней мере \\(9999\\) пар друзей. каково наименьшее возможное число дружб, то есть пар друзей, среди всех \\(19998\\) человек? stmt-graph половинные индуцированные подграфы с многими рёбрами ai_checked пусть \\(g\\) — конечный простой граф на \\(19998\\) вершинах. предположим, что каждый индуцированный подграф на ровно \\(9999\\) вершинах содержит по крайней мере \\(9999\\) рёбер. найдите минимально возможное значение \\(e(g)\\). simple_graph induced_subgraph stmt-graph-construction-hint формулировка с подсказкой конструкции ai_checked докажите, что минимум равен \\(49995\\). он достигается на несвязном объединении \\(3333\\) копий \\(k_6\\); также нужно доказать, что любой граф с условием на половинные индуцированные подграфы имеет не меньше \\(49995\\) рёбер. simple_graph complete_graph idea-clique-six-construction несвязные копии \\(k_6\\) дают экстремальный пример разбейте вершины на \\(3333\\) клик размера \\(6\\). проверка неравенства \\(x(x-1)\\ge 5x-9\\) для \\(0\\le x\\le 6\\) даёт условие на каждый выбор \\(9999\\) вершин. extremal_graph_theory goal_construction ai_checked idea-minimal-half-exchange выбрать половину с минимальным числом внутренних рёбер выберите \\(n=9999\\) вершин с минимальным возможным числом внутренних рёбер. обмен внутренней вершины на внешнюю сравнивает их степени внутрь выбранной половины; это неравенство вынуждает либо много рёбер разреза, либо противоречие. extremal_choice ai_checked sol-official-russian-expanded решение через минимальную половину вершин ai_checked simple_graph complete_graph degree extremal_choice double_counting ответ: \\(49995\\). сначала построим пример с таким числом дружб. разобьем \\(19998\\) человек на \\(3333\\) групп по \\(6\\) человек. внутри каждой группы все пары дружат, а между разными группами дружб нет. тогда всего дружб \\[ 3333\\binom 62=3333\\cdot 15=49995. \\] проверим условие. возьмем любые \\(9999\\) человек и пусть \\(x_i\\) — сколько из них попало в \\(i\\)-ю шестерку, \\(i=1,\\ldots,3333\\). тогда \\(0\\le x_i\\le 6\\) и \\(\\sum x_i=9999\\). число дружеских пар внутри выбранных \\(9999\\) человек равно \\[ \\sum_{i=1}^{3333}\\binom{x_i}{2}=\\frac12\\sum_{i=1}^{3333}x_i(x_i-1). \\] для каждого целого \\(x\\in\\{0,1,2,3,4,5,6\\}\\) верно \\[ x(x-1)\\ge 5x-9. \\] это можно проверить напрямую для семи возможных значений. поэтому \\[ \\sum_{i=1}^{3333}\\binom{x_i}{2} \\ge \\frac12\\sum_{i=1}^{3333}(5x_i-9) =\\frac12(5\\cdot9999-9\\cdot3333)=9999. \\] значит, построение действительно удовлетворяет условию. осталось доказать, что… cmo-2020-p5-friendship-induced-subgraphs minimum reber pri plotnyh polovinnyh podgrafah, cmo 2020 p5 extremal_graph_theory extremal_choice double_counting goal_exact_bound 2020 canadian mathematical olympiad 2020 ofitsialnye resheniya canadian mathematical olympiad 2020 ofitsialnye usloviya cmo cmo2020 https://w7.cms.math.ca/competitions/cmo/archive/exam2020.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2020.pdf solution_notes src-cmo-2020-official src-cmo-2020-solutions statement with_solution kanadskoe matematicheskoe obschestvo kanadskoe matematicheskoe obschestvo canadian mathematical olympiad 2020 ofitsialnye usloviya canadian mathematical olympiad 2020 ofitsialnye resheniya stmt-original originalnoe uslovie source_verified v sotsialnoy seti est \\(19998\\) chelovek; kazhdaya para lyudey mozhet byt druzhna ili ne druzhna. dlya lyuboy gruppy iz \\(9999\\) chelovek sredi nih est po krayney mere \\(9999\\) par druzey. kakovo naimenshee vozmozhnoe chislo druzhb, to est par druzey, sredi vseh \\(19998\\) chelovek? stmt-graph polovinnye indutsirovannye podgrafy s mnogimi rebrami ai_checked pust \\(g\\) — konechnyy prostoy graf na \\(19998\\) vershinah. predpolozhim, chto kazhdyy indutsirovannyy podgraf na rovno \\(9999\\) vershinah soderzhit po krayney mere \\(9999\\) reber. naydite minimalno vozmozhnoe znachenie \\(e(g)\\). simple_graph induced_subgraph stmt-graph-construction-hint formulirovka s podskazkoy konstruktsii ai_checked dokazhite, chto minimum raven \\(49995\\). on dostigaetsya na nesvyaznom obedinenii \\(3333\\) kopiy \\(k_6\\); takzhe nuzhno dokazat, chto lyuboy graf s usloviem na polovinnye indutsirovannye podgrafy imeet ne menshe \\(49995\\) reber. simple_graph complete_graph idea-clique-six-construction nesvyaznye kopii \\(k_6\\) dayut ekstremalnyy primer razbeyte vershiny na \\(3333\\) klik razmera \\(6\\). proverka neravenstva \\(x(x-1)\\ge 5x-9\\) dlya \\(0\\le x\\le 6\\) daet uslovie na kazhdyy vybor \\(9999\\) vershin. extremal_graph_theory goal_construction ai_checked idea-minimal-half-exchange vybrat polovinu s minimalnym chislom vnutrennih reber vyberite \\(n=9999\\) vershin s minimalnym vozmozhnym chislom vnutrennih reber. obmen vnutrenney vershiny na vneshnyuyu sravnivaet ih stepeni vnutr vybrannoy poloviny; eto neravenstvo vynuzhdaet libo mnogo reber razreza, libo protivorechie. extremal_choice ai_checked sol-official-russian-expanded reshenie cherez minimalnuyu polovinu vershin ai_checked simple_graph complete_graph degree extremal_choice double_counting otvet: \\(49995\\). snachala postroim primer s takim chislom druzhb. razobem \\(19998\\) chelovek na \\(3333\\) grupp po \\(6\\) chelovek. vnutri kazhdoy gruppy vse pary druzhat, a mezhdu raznymi gruppami druzhb net. togda vsego druzhb \\[ 3333\\binom 62=3333\\cdot 15=49995. \\] proverim uslovie. vozmem lyubye \\(9999\\) chelovek i pust \\(x_i\\) — skolko iz nih popalo v \\(i\\)-yu shesterku, \\(i=1,\\ldots,3333\\). togda \\(0\\le x_i\\le 6\\) i \\(\\sum x_i=9999\\). chislo druzheskih par vnutri vybrannyh \\(9999\\) chelovek ravno \\[ \\sum_{i=1}^{3333}\\binom{x_i}{2}=\\frac12\\sum_{i=1}^{3333}x_i(x_i-1). \\] dlya kazhdogo tselogo \\(x\\in\\{0,1,2,3,4,5,6\\}\\) verno \\[ x(x-1)\\ge 5x-9. \\] eto mozhno proverit napryamuyu dlya semi vozmozhnyh znacheniy. poetomu \\[ \\sum_{i=1}^{3333}\\binom{x_i}{2} \\ge \\frac12\\sum_{i=1}^{3333}(5x_i-9) =\\frac12(5\\cdot9999-9\\cdot3333)=9999. \\] znachit, postroenie deystvitelno udovletvoryaet usloviyu. ostalos dokazat, chto…","source_keys":["cmo"]}
{"id":"cmo-2022-p4-region-adjacency-coloring","title":"Раскраска графа смежности областей, CMO 2022 P4","path":"data\\problems\\cmo\\cmo-2022-p4-region-adjacency-coloring.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2022-p4-region-adjacency-coloring.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2022-p4-region-adjacency-coloring","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2022 официальные условия","Canadian Mathematical Olympiad 2022 официальные решения"],"year":"2022","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["planar_graphs","coloring","goal_characterization"],"agent_topics":[],"difficulty":{"main":"national_final_medium","local_score":8,"comment":"CMO 2022 P4; препятствие для малых значений получается сразу, а положительная часть использует компактный, но нетривиальный инвариант счёта сторон для конфигураций прямых.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Условие задачи","status":"ai_checked","text":"Пусть \\(n\\) — положительное целое число. Набор из \\(n\\) различных прямых делит плоскость на разные, возможно неограниченные, области. Такой набор прямых называется хорошим, если никакие три прямые не пересекаются в одной точке. Раскраской называется назначение каждой области двух цветов так, что первый цвет берётся из \\(\\{A_1,A_2\\}\\), а второй — из \\(\\{B_1,B_2,B_3\\}\\). Данный хороший набор прямых назовём раскрашиваемым, если существует раскраска со свойствами: (a) никакой цвет не назначен двум областям, имеющим общее ребро; (b) для любых \\(i\\in\\{1,2\\}\\) и \\(j\\in\\{1,2,3\\}\\) найдётся хотя бы одна область, которой назначены оба цвета \\(A_i\\) и \\(B_j\\). Найдите все \\(n\\), для которых каждая хорошая конфигурация из \\(n\\) прямых раскрашиваема.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Раскраска графа смежности областей","status":"ai_checked","text":"Для хорошей конфигурации из \\(n\\) прямых построим плоский граф смежности областей: его вершинами являются области, а рёбра соединяют области, имеющие общий граничный отрезок. Найдите все \\(n\\), для которых при любой такой конфигурации вершины можно раскрасить упорядоченными парами из \\(\\{A_1,A_2\\}\\times\\{B_1,B_2,B_3\\}\\) так, чтобы у соседних вершин различались обе координаты и встретились все шесть упорядоченных пар.","definition_ids":["planar_graph"]}]},"solutions":[{"id":"sol-official-russian","title":"Решение через счётчик сторон ориентированных прямых","status":"ai_checked","definition_ids":["planar_graph"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Ответ: все \\(n\\ge 5\\). Сначала покажем, что при \\(n\\le 4\\) требуемое свойство не гарантировано. Возьмём \\(n\\) различных параллельных прямых. Они делят плоскость всего на \\(n+1\\le 5\\) областей. Но условие требует, чтобы среди областей встретились все шесть пар цветов из \\(\\{A_1,A_2\\}\\times\\{B_1,B_2,B_3\\}\\). Так как одна область получает только одну такую пару, при не более чем пяти областях это невозможно. Значит, такие \\(n\\) не подходят. Теперь пусть \\(n\\ge 5\\), и рассмотрим произвольную хорошую конфигурацию из \\(n\\) прямых. Слегка повернём всю картинку так, чтобы ни одна прямая не была горизонтальной; это не меняет ни областей, ни их соседства. Ориентируем каждую прямую в направлении возрастания координаты \\(y\\). Тогда у каждой ориентированной прямой есть правая и левая стороны. Для каждой области \\(R\\) обозначим через \\(k(R)\\) число прямых, для которых область \\(R\\) лежит справа от эт…"}],"relations":[{"id":"rel-cmo-2022-p4-side-count-lemma","neighbor_id":"line-arrangement-side-count-levels","direction":"forward","type":"prerequisite","distance":1,"status":"ai_checked"},{"id":"rel-cmo-2022-p4-imo-2019-line-arrangement-levels","neighbor_id":"imo-2019-c4-labyrinth-region-graph","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2022-p4-imo-1996-modular-coloring-obstruction","neighbor_id":"imo-1996-c1-grid-knight-reachability-divisible-2-or-3","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-smmc-2023-c2-cmo-2022-region-adjacency-parity","neighbor_id":"simon-marais-2023-c2-line-arrangement-region-coloring","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"}],"search_text":"cmo-2022-p4-region-adjacency-coloring раскраска графа смежности областей, cmo 2022 p4 planar_graphs coloring goal_characterization 2022 canadian mathematical olympiad 2022 официальные решения canadian mathematical olympiad 2022 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2022 https://w7.cms.math.ca/competitions/cmo/archive/exam2022.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2022.pdf solution_notes src-cmo-2022-official src-cmo-2022-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2022 официальные условия canadian mathematical olympiad 2022 официальные решения stmt-original условие задачи ai_checked пусть \\(n\\) — положительное целое число. набор из \\(n\\) различных прямых делит плоскость на разные, возможно неограниченные, области. такой набор прямых называется хорошим, если никакие три прямые не пересекаются в одной точке. раскраской называется назначение каждой области двух цветов так, что первый цвет берётся из \\(\\{a_1,a_2\\}\\), а второй — из \\(\\{b_1,b_2,b_3\\}\\). данный хороший набор прямых назовём раскрашиваемым, если существует раскраска со свойствами: (a) никакой цвет не назначен двум областям, имеющим общее ребро; (b) для любых \\(i\\in\\{1,2\\}\\) и \\(j\\in\\{1,2,3\\}\\) найдётся хотя бы одна область, которой назначены оба цвета \\(a_i\\) и \\(b_j\\). найдите все \\(n\\), для которых каждая хорошая конфигурация из \\(n\\) прямых раскрашиваема. stmt-graph раскраска графа смежности областей ai_checked для хорошей конфигурации из \\(n\\) прямых построим плоский граф смежности областей: его вершинами являются области, а рёбра соединяют области, имеющие общий граничный отрезок. найдите все \\(n\\), для которых при любой такой конфигурации вершины можно раскрасить упорядоченными парами из \\(\\{a_1,a_2\\}\\times\\{b_1,b_2,b_3\\}\\) так, чтобы у соседних вершин различались обе координаты и встретились все шесть упорядоченных пар. planar_graph idea-count-lines-right-side раскраска по числу ориентированных прямых с одной стороны после ориентации прямых у соседних областей значения параметра счёта сторон отличаются на 1, поэтому и чётность, и остаток по модулю 3 меняются при переходе через любое общее ребро. coloring ai_checked sol-official-russian решение через счётчик сторон ориентированных прямых ai_checked planar_graph ответ: все \\(n\\ge 5\\). сначала покажем, что при \\(n\\le 4\\) требуемое свойство не гарантировано. возьмём \\(n\\) различных параллельных прямых. они делят плоскость всего на \\(n+1\\le 5\\) областей. но условие требует, чтобы среди областей встретились все шесть пар цветов из \\(\\{a_1,a_2\\}\\times\\{b_1,b_2,b_3\\}\\). так как одна область получает только одну такую пару, при не более чем пяти областях это невозможно. значит, такие \\(n\\) не подходят. теперь пусть \\(n\\ge 5\\), и рассмотрим произвольную хорошую конфигурацию из \\(n\\) прямых. слегка повернём всю картинку так, чтобы ни одна прямая не была горизонтальной; это не меняет ни областей, ни их соседства. ориентируем каждую прямую в направлении возрастания координаты \\(y\\). тогда у каждой ориентированной прямой есть правая и левая стороны. для каждой области \\(r\\) обозначим через \\(k(r)\\) число прямых, для которых область \\(r\\) лежит справа от эт… cmo-2022-p4-region-adjacency-coloring raskraska grafa smezhnosti oblastey, cmo 2022 p4 planar_graphs coloring goal_characterization 2022 canadian mathematical olympiad 2022 ofitsialnye resheniya canadian mathematical olympiad 2022 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2022 https://w7.cms.math.ca/competitions/cmo/archive/exam2022.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2022.pdf solution_notes src-cmo-2022-official src-cmo-2022-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2022 ofitsialnye usloviya canadian mathematical olympiad 2022 ofitsialnye resheniya stmt-original uslovie zadachi ai_checked pust \\(n\\) — polozhitelnoe tseloe chislo. nabor iz \\(n\\) razlichnyh pryamyh delit ploskost na raznye, vozmozhno neogranichennye, oblasti. takoy nabor pryamyh nazyvaetsya horoshim, esli nikakie tri pryamye ne peresekayutsya v odnoy tochke. raskraskoy nazyvaetsya naznachenie kazhdoy oblasti dvuh tsvetov tak, chto pervyy tsvet beretsya iz \\(\\{a_1,a_2\\}\\), a vtoroy — iz \\(\\{b_1,b_2,b_3\\}\\). dannyy horoshiy nabor pryamyh nazovem raskrashivaemym, esli suschestvuet raskraska so svoystvami: (a) nikakoy tsvet ne naznachen dvum oblastyam, imeyuschim obschee rebro; (b) dlya lyubyh \\(i\\in\\{1,2\\}\\) i \\(j\\in\\{1,2,3\\}\\) naydetsya hotya by odna oblast, kotoroy naznacheny oba tsveta \\(a_i\\) i \\(b_j\\). naydite vse \\(n\\), dlya kotoryh kazhdaya horoshaya konfiguratsiya iz \\(n\\) pryamyh raskrashivaema. stmt-graph raskraska grafa smezhnosti oblastey ai_checked dlya horoshey konfiguratsii iz \\(n\\) pryamyh postroim ploskiy graf smezhnosti oblastey: ego vershinami yavlyayutsya oblasti, a rebra soedinyayut oblasti, imeyuschie obschiy granichnyy otrezok. naydite vse \\(n\\), dlya kotoryh pri lyuboy takoy konfiguratsii vershiny mozhno raskrasit uporyadochennymi parami iz \\(\\{a_1,a_2\\}\\times\\{b_1,b_2,b_3\\}\\) tak, chtoby u sosednih vershin razlichalis obe koordinaty i vstretilis vse shest uporyadochennyh par. planar_graph idea-count-lines-right-side raskraska po chislu orientirovannyh pryamyh s odnoy storony posle orientatsii pryamyh u sosednih oblastey znacheniya parametra scheta storon otlichayutsya na 1, poetomu i chetnost, i ostatok po modulyu 3 menyayutsya pri perehode cherez lyuboe obschee rebro. coloring ai_checked sol-official-russian reshenie cherez schetchik storon orientirovannyh pryamyh ai_checked planar_graph otvet: vse \\(n\\ge 5\\). snachala pokazhem, chto pri \\(n\\le 4\\) trebuemoe svoystvo ne garantirovano. vozmem \\(n\\) razlichnyh parallelnyh pryamyh. oni delyat ploskost vsego na \\(n+1\\le 5\\) oblastey. no uslovie trebuet, chtoby sredi oblastey vstretilis vse shest par tsvetov iz \\(\\{a_1,a_2\\}\\times\\{b_1,b_2,b_3\\}\\). tak kak odna oblast poluchaet tolko odnu takuyu paru, pri ne bolee chem pyati oblastyah eto nevozmozhno. znachit, takie \\(n\\) ne podhodyat. teper pust \\(n\\ge 5\\), i rassmotrim proizvolnuyu horoshuyu konfiguratsiyu iz \\(n\\) pryamyh. slegka povernem vsyu kartinku tak, chtoby ni odna pryamaya ne byla gorizontalnoy; eto ne menyaet ni oblastey, ni ih sosedstva. orientiruem kazhduyu pryamuyu v napravlenii vozrastaniya koordinaty \\(y\\). togda u kazhdoy orientirovannoy pryamoy est pravaya i levaya storony. dlya kazhdoy oblasti \\(r\\) oboznachim cherez \\(k(r)\\) chislo pryamyh, dlya kotoryh oblast \\(r\\) lezhit sprava ot et…","source_keys":["cmo"]}
{"id":"cmo-2023-p2-three-regular-bootstrap-friendship","title":"Активация в 3-регулярном графе, CMO 2023 P2","path":"data\\problems\\cmo\\cmo-2023-p2-three-regular-bootstrap-friendship.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2023-p2-three-regular-bootstrap-friendship.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2023-p2-three-regular-bootstrap-friendship","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2023 официальные условия","Canadian Mathematical Olympiad 2023 официальные решения"],"year":"2023","type":"olympiad_problem","authors":["Канадское математическое общество"],"tags":["double_counting","goal_impossibility"],"agent_topics":[],"difficulty":{"main":"national_final_easy","local_score":6,"comment":"CMO 2023 P2; официальное решение — короткий инвариант процесса и подсчёт на кубическом графе дружб.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Оригинальное условие","status":"source_verified","text":"В классе \\(20\\) учеников, и у каждого ученика ровно три близких друга в этом классе. Пятеро учеников купили билеты на предстоящий концерт. Если ученик видит, что хотя бы двое из его близких друзей купили билеты, он тоже покупает билет. Может ли случиться, что весь класс купит билеты? Дружба взаимна: если ученик \\(A\\) близко дружит с учеником \\(B\\), то \\(B\\) близко дружит с \\(A\\).","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Двухпороговая активация в 3-регулярном графе","status":"ai_checked","text":"Пусть \\(G\\) — простой \\(3\\)-регулярный граф на \\(20\\) вершинах. Изначально активны \\(5\\) вершин. На каждом шаге неактивная вершина, у которой есть хотя бы два активных соседа, может стать активной. Существует ли такой граф и такие \\(5\\) начальных вершин, что в итоге станут активными все \\(20\\) вершин?","definition_ids":["simple_graph","degree"]}],"graph_hint_reformulations":[{"id":"stmt-graph-counting-hint","title":"Формулировка для подсчёта процесса","status":"ai_checked","text":"Докажите, что ответ отрицательный, подсчитывая рёбра, у которых более поздний конец активируется после начальных \\(5\\) вершин. Если бы все \\(20\\) вершин стали активными, первые \\(14\\) поздних активаций потребовали бы по крайней мере по два таких ребра, а последняя — три.","definition_ids":["simple_graph","degree"]}]},"solutions":[{"id":"sol-official-used-friendships-ru","title":"Невозможность по подсчету использованных дружб","status":"ai_checked","definition_ids":["simple_graph","degree"],"standard_idea_ids":["double_counting"],"tags":[],"has_text":true,"text_preview":"Ответ: нет, невозможно. Будем считать дружбу неупорядоченной парой близких друзей. Так как в классе 20 учеников и у каждого ровно 3 близких друга, сумма степеней равна \\(20\\cdot 3=60\\). Каждая дружба при таком подсчете учтена дважды, поэтому всего в классе ровно \\(30\\) дружб. Рассмотрим процесс после того, как первые пять учеников уже купили билеты. Назовем дружбу использованной, если один из двух учеников в этой паре покупает билет не среди первых пяти, а другой ученик из этой пары уже имел билет в этот момент. Иначе говоря, когда появляется новый покупатель, мы отмечаем его дружбы с теми близкими друзьями, у которых билет уже был. Одна и та же дружба не может быть использована дважды. Действительно, она используется только в момент, когда один ее конец впервые становится новым покупателем, а другой конец уже имеет билет. После этого оба конца этой дружбы имеют билеты, поэтому позже эт…"}],"relations":[{"id":"rel-cmo-1971-p10-cmo-2023-p2-spreading-process-count","neighbor_id":"cmo-1971-p10-one-way-phone-gossip","direction":"backward","type":"same_motif","distance":3,"status":"needs_human_review"},{"id":"rel-cmo-2023-p2-handshaking-edge-count","neighbor_id":"handshaking-lemma","direction":"forward","type":"prerequisite","distance":1,"status":"ai_checked"},{"id":"rel-cmo-2023-p2-cubic-four-cycle-bound","neighbor_id":"cubic-graph-four-cycle-bound","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"}],"search_text":"cmo-2023-p2-three-regular-bootstrap-friendship активация в 3-регулярном графе, cmo 2023 p2 double_counting goal_impossibility 2023 canadian mathematical olympiad 2023 официальные решения canadian mathematical olympiad 2023 официальные условия cmo cmo2023 https://w7.cms.math.ca/competitions/cmo/archive/exam2023.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2023.pdf solution_notes src-cmo-2023-official src-cmo-2023-solutions statement with_solution канадское математическое общество канадское математическое общество canadian mathematical olympiad 2023 официальные условия canadian mathematical olympiad 2023 официальные решения stmt-original оригинальное условие source_verified в классе \\(20\\) учеников, и у каждого ученика ровно три близких друга в этом классе. пятеро учеников купили билеты на предстоящий концерт. если ученик видит, что хотя бы двое из его близких друзей купили билеты, он тоже покупает билет. может ли случиться, что весь класс купит билеты? дружба взаимна: если ученик \\(a\\) близко дружит с учеником \\(b\\), то \\(b\\) близко дружит с \\(a\\). stmt-graph двухпороговая активация в 3-регулярном графе ai_checked пусть \\(g\\) — простой \\(3\\)-регулярный граф на \\(20\\) вершинах. изначально активны \\(5\\) вершин. на каждом шаге неактивная вершина, у которой есть хотя бы два активных соседа, может стать активной. существует ли такой граф и такие \\(5\\) начальных вершин, что в итоге станут активными все \\(20\\) вершин? simple_graph degree stmt-graph-counting-hint формулировка для подсчёта процесса ai_checked докажите, что ответ отрицательный, подсчитывая рёбра, у которых более поздний конец активируется после начальных \\(5\\) вершин. если бы все \\(20\\) вершин стали активными, первые \\(14\\) поздних активаций потребовали бы по крайней мере по два таких ребра, а последняя — три. simple_graph degree idea-used-friendships-count каждый новый покупатель использует ещё не использованные дружбы считайте дружбу использованной, когда один её конец покупает билет позже, а второй конец уже имеет билет. каждый не начальный покупатель, кроме возможно последнего, использует по крайней мере две дружбы, а последний использует три. double_counting ai_checked idea-enticement-potential число убеждений падает перед последним учеником в языке официального решения ученик с билетом убеждает друга без билета. новому покупателю нужны хотя бы два убеждения, но после покупки он может создать не более одного нового убеждения; поэтому потенциал убывает слишком быстро. double_counting ai_checked sol-official-used-friendships-ru невозможность по подсчету использованных дружб ai_checked simple_graph degree double_counting ответ: нет, невозможно. будем считать дружбу неупорядоченной парой близких друзей. так как в классе 20 учеников и у каждого ровно 3 близких друга, сумма степеней равна \\(20\\cdot 3=60\\). каждая дружба при таком подсчете учтена дважды, поэтому всего в классе ровно \\(30\\) дружб. рассмотрим процесс после того, как первые пять учеников уже купили билеты. назовем дружбу использованной, если один из двух учеников в этой паре покупает билет не среди первых пяти, а другой ученик из этой пары уже имел билет в этот момент. иначе говоря, когда появляется новый покупатель, мы отмечаем его дружбы с теми близкими друзьями, у которых билет уже был. одна и та же дружба не может быть использована дважды. действительно, она используется только в момент, когда один ее конец впервые становится новым покупателем, а другой конец уже имеет билет. после этого оба конца этой дружбы имеют билеты, поэтому позже эт… cmo-2023-p2-three-regular-bootstrap-friendship aktivatsiya v 3-regulyarnom grafe, cmo 2023 p2 double_counting goal_impossibility 2023 canadian mathematical olympiad 2023 ofitsialnye resheniya canadian mathematical olympiad 2023 ofitsialnye usloviya cmo cmo2023 https://w7.cms.math.ca/competitions/cmo/archive/exam2023.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2023.pdf solution_notes src-cmo-2023-official src-cmo-2023-solutions statement with_solution kanadskoe matematicheskoe obschestvo kanadskoe matematicheskoe obschestvo canadian mathematical olympiad 2023 ofitsialnye usloviya canadian mathematical olympiad 2023 ofitsialnye resheniya stmt-original originalnoe uslovie source_verified v klasse \\(20\\) uchenikov, i u kazhdogo uchenika rovno tri blizkih druga v etom klasse. pyatero uchenikov kupili bilety na predstoyaschiy kontsert. esli uchenik vidit, chto hotya by dvoe iz ego blizkih druzey kupili bilety, on tozhe pokupaet bilet. mozhet li sluchitsya, chto ves klass kupit bilety? druzhba vzaimna: esli uchenik \\(a\\) blizko druzhit s uchenikom \\(b\\), to \\(b\\) blizko druzhit s \\(a\\). stmt-graph dvuhporogovaya aktivatsiya v 3-regulyarnom grafe ai_checked pust \\(g\\) — prostoy \\(3\\)-regulyarnyy graf na \\(20\\) vershinah. iznachalno aktivny \\(5\\) vershin. na kazhdom shage neaktivnaya vershina, u kotoroy est hotya by dva aktivnyh soseda, mozhet stat aktivnoy. suschestvuet li takoy graf i takie \\(5\\) nachalnyh vershin, chto v itoge stanut aktivnymi vse \\(20\\) vershin? simple_graph degree stmt-graph-counting-hint formulirovka dlya podscheta protsessa ai_checked dokazhite, chto otvet otritsatelnyy, podschityvaya rebra, u kotoryh bolee pozdniy konets aktiviruetsya posle nachalnyh \\(5\\) vershin. esli by vse \\(20\\) vershin stali aktivnymi, pervye \\(14\\) pozdnih aktivatsiy potrebovali by po krayney mere po dva takih rebra, a poslednyaya — tri. simple_graph degree idea-used-friendships-count kazhdyy novyy pokupatel ispolzuet esche ne ispolzovannye druzhby schitayte druzhbu ispolzovannoy, kogda odin ee konets pokupaet bilet pozzhe, a vtoroy konets uzhe imeet bilet. kazhdyy ne nachalnyy pokupatel, krome vozmozhno poslednego, ispolzuet po krayney mere dve druzhby, a posledniy ispolzuet tri. double_counting ai_checked idea-enticement-potential chislo ubezhdeniy padaet pered poslednim uchenikom v yazyke ofitsialnogo resheniya uchenik s biletom ubezhdaet druga bez bileta. novomu pokupatelyu nuzhny hotya by dva ubezhdeniya, no posle pokupki on mozhet sozdat ne bolee odnogo novogo ubezhdeniya; poetomu potentsial ubyvaet slishkom bystro. double_counting ai_checked sol-official-used-friendships-ru nevozmozhnost po podschetu ispolzovannyh druzhb ai_checked simple_graph degree double_counting otvet: net, nevozmozhno. budem schitat druzhbu neuporyadochennoy paroy blizkih druzey. tak kak v klasse 20 uchenikov i u kazhdogo rovno 3 blizkih druga, summa stepeney ravna \\(20\\cdot 3=60\\). kazhdaya druzhba pri takom podschete uchtena dvazhdy, poetomu vsego v klasse rovno \\(30\\) druzhb. rassmotrim protsess posle togo, kak pervye pyat uchenikov uzhe kupili bilety. nazovem druzhbu ispolzovannoy, esli odin iz dvuh uchenikov v etoy pare pokupaet bilet ne sredi pervyh pyati, a drugoy uchenik iz etoy pary uzhe imel bilet v etot moment. inache govorya, kogda poyavlyaetsya novyy pokupatel, my otmechaem ego druzhby s temi blizkimi druzyami, u kotoryh bilet uzhe byl. odna i ta zhe druzhba ne mozhet byt ispolzovana dvazhdy. deystvitelno, ona ispolzuetsya tolko v moment, kogda odin ee konets vpervye stanovitsya novym pokupatelem, a drugoy konets uzhe imeet bilet. posle etogo oba kontsa etoy druzhby imeyut bilety, poetomu pozzhe et…","source_keys":["cmo"]}
{"id":"cmo-2023-p5-cut-bound-independent-set","title":"Независимое множество при ограниченных разрезах, CMO 2023 P5","path":"data\\problems\\cmo\\cmo-2023-p5-cut-bound-independent-set.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2023-p5-cut-bound-independent-set.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2023-p5-cut-bound-independent-set","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2023 официальные условия","Canadian Mathematical Olympiad 2023 официальные решения"],"year":"2023","type":"olympiad_problem","authors":[],"tags":["extremal_graph_theory","graph_cut","extremal_choice","double_counting","coloring","goal_exact_bound"],"agent_topics":[],"difficulty":{"main":"national_final_hard","local_score":9,"comment":"CMO 2023 P5; конструкция короткая, а нижняя оценка требует неочевидного аргумента с максимальным \\(2k\\)-раскрашиваемым множеством.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","label":"официальное полное/почти полное","status":"ai_checked","confidence":0.92,"basis":"аудит внешних теорем, группа A, 2026-05-06","notes":"Решение через максимальное 2k-раскрашиваемое множество, разрез и принцип Дирихле самодостаточно; внешняя теорема не применяется.","audit_source":"external-theorem-audit-group-a"},"statements":{"original":[{"id":"stmt-original","title":"Оригинальное условие","status":"source_verified","text":"В стране с \\(n\\) городами некоторые пары городов соединены двусторонними дорогами. Замечено, что при любом разбиении страны на две части между этими частями проходит не более \\(kn\\) дорог, где \\(k\\) — фиксированное положительное целое число. Каково наибольшее целое \\(m\\), выраженное через \\(n\\) и \\(k\\), для которого гарантированно найдётся множество из \\(m\\) городов, никакие два из которых не соединены дорогой напрямую?","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Независимое множество при ограниченных разрезах","status":"ai_checked","text":"Пусть \\(G\\) — конечный простой граф на \\(n\\) вершинах. Предположим, что для любого разбиения \\(V(G)=X\\sqcup Y\\) число рёбер с одним концом в \\(X\\) и другим концом в \\(Y\\) не превосходит \\(kn\\), где \\(k\\) — положительное целое число. Найдите наибольшее гарантированное значение \\(m\\), такое что в \\(G\\) обязательно есть независимое множество размера \\(m\\).","definition_ids":["simple_graph","independent_set"]}],"graph_hint_reformulations":[{"id":"stmt-graph-answer-hint","title":"Формулировка с ответом и экстремальной конструкцией","status":"ai_checked","text":"Докажите, что наилучшее гарантированное значение равно \\(\\left\\lceil n/(4k)\\right\\rceil\\). Для точности запишите \\(n=4kq+r\\), где \\(1\\le r\\le 4k\\), и рассмотрите несвязное объединение \\(q\\) копий \\(K_{4k}\\) и одной копии \\(K_r\\).","definition_ids":["simple_graph","complete_graph","independent_set"]}]},"solutions":[{"id":"sol-official-ru-expanded","title":"Точная граница через максимальное \\(2k\\)-разделимое множество","status":"ai_checked","definition_ids":["simple_graph","complete_graph","independent_set"],"standard_idea_ids":["extremal_choice","double_counting"],"tags":[],"has_text":true,"text_preview":"Ответ: \\(m=\\left\\lceil \\frac{n}{4k}\\right\\rceil\\). Сначала покажем, что больше гарантировать нельзя. Запишем \\(n=4kq+r\\), где \\(1\\le r\\le 4k\\); тогда \\(\\left\\lceil n/(4k)\\right\\rceil=q+1\\). Построим граф как несвязное объединение \\(q\\) копий полного графа \\(K_{4k}\\) и одной копии \\(K_r\\). Независимое множество в таком графе может взять не более одной вершины из каждой полной компоненты, поэтому его размер не превосходит \\(q+1=\\left\\lceil n/(4k)\\right\\rceil\\). Проверим, что этот пример удовлетворяет условию. Рассмотрим произвольный разрез всех вершин. Внутри полной компоненты размера \\(i\\le 4k\\), если разрез делит ее вершины на части размеров \\(a\\) и \\(b\\), число ребер между этими частями равно \\(ab\\). При фиксированном \\(i=a+b\\) имеем \\[ ab\\le \\frac{i^2}{4}\\le ki, \\] поскольку \\(i\\le 4k\\). Суммируя по всем полным компонентам, получаем, что всего ребер, пересекающих данный разрез, не бол…"}],"relations":[{"id":"rel-cmo-2023-p5-cmo-2020-p5-disjoint-cliques","neighbor_id":"cmo-2020-p5-friendship-induced-subgraphs","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2023-p5-imo-2012-c7-independent-set","neighbor_id":"imo-2012-c7-equal-sum-chords-independent-set","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2023-p5-caro-wei-independent-set","neighbor_id":"caro-wei-independent-set-bound","direction":"forward","type":"same_motif","distance":3,"status":"ai_draft"},{"id":"rel-cmo-2023-p5-turan-complement-cliques","neighbor_id":"turan-theorem","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-vjimc-2005-weighted-cut-graph-cut","neighbor_id":"vjimc-2005-cat2-p2-weighted-cut-half","direction":"backward","type":"same_motif","distance":3,"status":"needs_human_review"}],"search_text":"cmo-2023-p5-cut-bound-independent-set независимое множество при ограниченных разрезах, cmo 2023 p5 extremal_graph_theory graph_cut extremal_choice double_counting coloring goal_exact_bound 2023 canadian mathematical olympiad 2023 официальные решения canadian mathematical olympiad 2023 официальные условия cmo cmo2023 https://w7.cms.math.ca/competitions/cmo/archive/exam2023.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2023.pdf solution_notes src-cmo-2023-official src-cmo-2023-solutions statement with_solution ? canadian mathematical olympiad 2023 официальные условия canadian mathematical olympiad 2023 официальные решения stmt-original оригинальное условие source_verified в стране с \\(n\\) городами некоторые пары городов соединены двусторонними дорогами. замечено, что при любом разбиении страны на две части между этими частями проходит не более \\(kn\\) дорог, где \\(k\\) — фиксированное положительное целое число. каково наибольшее целое \\(m\\), выраженное через \\(n\\) и \\(k\\), для которого гарантированно найдётся множество из \\(m\\) городов, никакие два из которых не соединены дорогой напрямую? stmt-graph независимое множество при ограниченных разрезах ai_checked пусть \\(g\\) — конечный простой граф на \\(n\\) вершинах. предположим, что для любого разбиения \\(v(g)=x\\sqcup y\\) число рёбер с одним концом в \\(x\\) и другим концом в \\(y\\) не превосходит \\(kn\\), где \\(k\\) — положительное целое число. найдите наибольшее гарантированное значение \\(m\\), такое что в \\(g\\) обязательно есть независимое множество размера \\(m\\). simple_graph independent_set stmt-graph-answer-hint формулировка с ответом и экстремальной конструкцией ai_checked докажите, что наилучшее гарантированное значение равно \\(\\left\\lceil n/(4k)\\right\\rceil\\). для точности запишите \\(n=4kq+r\\), где \\(1\\le r\\le 4k\\), и рассмотрите несвязное объединение \\(q\\) копий \\(k_{4k}\\) и одной копии \\(k_r\\). simple_graph complete_graph independent_set idea-clique-construction несвязные клики делают границу точной несвязное объединение полных графов размера не больше \\(4k\\) удовлетворяет ограничению на все разрезы: разрез клики на \\(i\\le 4k\\) вершинах даёт не более \\(i^2/4\\le ki\\) рёбер. extremal_graph_theory goal_construction ai_checked idea-maximal-2k-colorable-set максимальное \\(2k\\)-раскрашиваемое множество покрывает хотя бы половину графа выберите наибольшее множество \\(s\\), которое можно разбить на \\(2k\\) независимых множеств. если \\(|s|<n/2\\), ограничение на разрез между \\(s\\) и дополнением даёт вершину вне \\(s\\), которую можно добавить в один из цветовых классов. extremal_choice ai_checked sol-official-ru-expanded точная граница через максимальное \\(2k\\)-разделимое множество ai_checked simple_graph complete_graph independent_set extremal_choice double_counting ответ: \\(m=\\left\\lceil \\frac{n}{4k}\\right\\rceil\\). сначала покажем, что больше гарантировать нельзя. запишем \\(n=4kq+r\\), где \\(1\\le r\\le 4k\\); тогда \\(\\left\\lceil n/(4k)\\right\\rceil=q+1\\). построим граф как несвязное объединение \\(q\\) копий полного графа \\(k_{4k}\\) и одной копии \\(k_r\\). независимое множество в таком графе может взять не более одной вершины из каждой полной компоненты, поэтому его размер не превосходит \\(q+1=\\left\\lceil n/(4k)\\right\\rceil\\). проверим, что этот пример удовлетворяет условию. рассмотрим произвольный разрез всех вершин. внутри полной компоненты размера \\(i\\le 4k\\), если разрез делит ее вершины на части размеров \\(a\\) и \\(b\\), число ребер между этими частями равно \\(ab\\). при фиксированном \\(i=a+b\\) имеем \\[ ab\\le \\frac{i^2}{4}\\le ki, \\] поскольку \\(i\\le 4k\\). суммируя по всем полным компонентам, получаем, что всего ребер, пересекающих данный разрез, не бол… cmo-2023-p5-cut-bound-independent-set nezavisimoe mnozhestvo pri ogranichennyh razrezah, cmo 2023 p5 extremal_graph_theory graph_cut extremal_choice double_counting coloring goal_exact_bound 2023 canadian mathematical olympiad 2023 ofitsialnye resheniya canadian mathematical olympiad 2023 ofitsialnye usloviya cmo cmo2023 https://w7.cms.math.ca/competitions/cmo/archive/exam2023.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2023.pdf solution_notes src-cmo-2023-official src-cmo-2023-solutions statement with_solution ? canadian mathematical olympiad 2023 ofitsialnye usloviya canadian mathematical olympiad 2023 ofitsialnye resheniya stmt-original originalnoe uslovie source_verified v strane s \\(n\\) gorodami nekotorye pary gorodov soedineny dvustoronnimi dorogami. zamecheno, chto pri lyubom razbienii strany na dve chasti mezhdu etimi chastyami prohodit ne bolee \\(kn\\) dorog, gde \\(k\\) — fiksirovannoe polozhitelnoe tseloe chislo. kakovo naibolshee tseloe \\(m\\), vyrazhennoe cherez \\(n\\) i \\(k\\), dlya kotorogo garantirovanno naydetsya mnozhestvo iz \\(m\\) gorodov, nikakie dva iz kotoryh ne soedineny dorogoy napryamuyu? stmt-graph nezavisimoe mnozhestvo pri ogranichennyh razrezah ai_checked pust \\(g\\) — konechnyy prostoy graf na \\(n\\) vershinah. predpolozhim, chto dlya lyubogo razbieniya \\(v(g)=x\\sqcup y\\) chislo reber s odnim kontsom v \\(x\\) i drugim kontsom v \\(y\\) ne prevoshodit \\(kn\\), gde \\(k\\) — polozhitelnoe tseloe chislo. naydite naibolshee garantirovannoe znachenie \\(m\\), takoe chto v \\(g\\) obyazatelno est nezavisimoe mnozhestvo razmera \\(m\\). simple_graph independent_set stmt-graph-answer-hint formulirovka s otvetom i ekstremalnoy konstruktsiey ai_checked dokazhite, chto nailuchshee garantirovannoe znachenie ravno \\(\\left\\lceil n/(4k)\\right\\rceil\\). dlya tochnosti zapishite \\(n=4kq+r\\), gde \\(1\\le r\\le 4k\\), i rassmotrite nesvyaznoe obedinenie \\(q\\) kopiy \\(k_{4k}\\) i odnoy kopii \\(k_r\\). simple_graph complete_graph independent_set idea-clique-construction nesvyaznye kliki delayut granitsu tochnoy nesvyaznoe obedinenie polnyh grafov razmera ne bolshe \\(4k\\) udovletvoryaet ogranicheniyu na vse razrezy: razrez kliki na \\(i\\le 4k\\) vershinah daet ne bolee \\(i^2/4\\le ki\\) reber. extremal_graph_theory goal_construction ai_checked idea-maximal-2k-colorable-set maksimalnoe \\(2k\\)-raskrashivaemoe mnozhestvo pokryvaet hotya by polovinu grafa vyberite naibolshee mnozhestvo \\(s\\), kotoroe mozhno razbit na \\(2k\\) nezavisimyh mnozhestv. esli \\(|s|<n/2\\), ogranichenie na razrez mezhdu \\(s\\) i dopolneniem daet vershinu vne \\(s\\), kotoruyu mozhno dobavit v odin iz tsvetovyh klassov. extremal_choice ai_checked sol-official-ru-expanded tochnaya granitsa cherez maksimalnoe \\(2k\\)-razdelimoe mnozhestvo ai_checked simple_graph complete_graph independent_set extremal_choice double_counting otvet: \\(m=\\left\\lceil \\frac{n}{4k}\\right\\rceil\\). snachala pokazhem, chto bolshe garantirovat nelzya. zapishem \\(n=4kq+r\\), gde \\(1\\le r\\le 4k\\); togda \\(\\left\\lceil n/(4k)\\right\\rceil=q+1\\). postroim graf kak nesvyaznoe obedinenie \\(q\\) kopiy polnogo grafa \\(k_{4k}\\) i odnoy kopii \\(k_r\\). nezavisimoe mnozhestvo v takom grafe mozhet vzyat ne bolee odnoy vershiny iz kazhdoy polnoy komponenty, poetomu ego razmer ne prevoshodit \\(q+1=\\left\\lceil n/(4k)\\right\\rceil\\). proverim, chto etot primer udovletvoryaet usloviyu. rassmotrim proizvolnyy razrez vseh vershin. vnutri polnoy komponenty razmera \\(i\\le 4k\\), esli razrez delit ee vershiny na chasti razmerov \\(a\\) i \\(b\\), chislo reber mezhdu etimi chastyami ravno \\(ab\\). pri fiksirovannom \\(i=a+b\\) imeem \\[ ab\\le \\frac{i^2}{4}\\le ki, \\] poskolku \\(i\\le 4k\\). summiruya po vsem polnym komponentam, poluchaem, chto vsego reber, peresekayuschih dannyy razrez, ne bol…","source_keys":["cmo"]}
{"id":"cmo-2025-p1-voting-functional-graph","title":"Обновление стрелок в функциональном орграфе, CMO 2025 P1","path":"data\\problems\\cmo\\cmo-2025-p1-voting-functional-graph.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2025-p1-voting-functional-graph.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2025-p1-voting-functional-graph","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2025 официальные условия","Canadian Mathematical Olympiad 2025 официальные решения"],"year":"2025","type":"olympiad_problem","authors":[],"tags":["connectivity","goal_proof"],"agent_topics":["game_strategy_candidate"],"difficulty":{"main":"national_final_easy","local_score":6,"comment":"CMO 2025 P1; естественная модель через функциональный орграф быстро даёт решение, но нужно аккуратно обосновать сжатие цикла и путей при произвольном порядке обновлений.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_plan_completed_by_ai","label":"официальный план, доведённый ИИ","status":"ai_checked","confidence":0.92,"basis":"официальное решение CMS CMO 2025 было сжатым; локальная карточка содержит развёрнутое самодостаточное доказательство через функциональный орграф и сжатие цикла/путей","notes":"Проверены сохранение единственного направленного цикла, оценка уменьшения цикла за раунд, последующее сжатие путей к петле и итоговая граница не более n раундов.","audit_source":"official-outline-cleanup-2026-05-16"},"statements":{"original":[{"id":"stmt-original","title":"Официальное условие","status":"ai_checked","text":"\\(n\\) игроков хоккейной команды собираются, чтобы выбрать капитана. Сначала они стоят по кругу, и каждый голосует за человека слева от себя. Затем игроки будут обновлять свои голоса в серии раундов. В одном раунде каждый игрок \\(a\\) по очереди обновляет свой голос по следующему правилу: в момент обновления, если \\(a\\) голосует за \\(b\\), а \\(b\\) голосует за \\(c\\), то \\(a\\) меняет свой голос на \\(c\\). Вершины \\(a,b,c\\) не обязаны быть различными; если \\(b=c\\), то голос \\(a\\) при этом обновлении не меняется. В каждом раунде каждый игрок обновляет свой голос ровно один раз, в порядке, который определяют игроки; этот порядок может меняться от раунда к раунду. Они повторяют такую процедуру обновления в течение \\(n\\) раундов. Докажите, что к этому моменту все \\(n\\) игроков будут единогласно голосовать за одного и того же человека.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Обновление стрелок в функциональном орграфе","status":"ai_checked","text":"Пусть дано \\(n\\) вершин, сначала образующих один ориентированный цикл: из каждой вершины выходит ровно одна стрелка к следующей вершине цикла. Далее выполняются \\(n\\) раундов. В каждом раунде каждая вершина обновляется ровно один раз, в произвольном порядке, который может меняться от раунда к раунду. Если в момент обновления из вершины \\(a\\) выходит стрелка в \\(b\\), а из \\(b\\) выходит стрелка в \\(c\\), то стрелку из \\(a\\) заменяют на стрелку \\(a\\to c\\); если \\(b=c\\), стрелка из \\(a\\) не меняется. Докажите, что после этих \\(n\\) раундов все вершины имеют одного и того же исходящего соседа.","definition_ids":["directed_graph","outdegree","cycle"]}],"graph_hint_reformulations":[{"id":"stmt-hint-halving","title":"Подсказочная формулировка через сжатие цикла и путей","status":"ai_checked","text":"В той же модели докажите два вспомогательных факта. Во-первых, если в начале раунда единственный направленный цикл имеет длину \\(K>1\\), то к концу раунда его длина не превосходит \\(\\lfloor K/2\\rfloor\\). Во-вторых, когда цикл уже стал петлей \\(z\\to z\\), любой путь длины \\(L\\) к \\(z\\) после одного раунда имеет длину не больше \\(\\lceil L/2\\rceil\\). Эти две оценки дают единогласие не позднее чем через \\(\\lfloor\\log_2 n\\rfloor+\\lceil\\log_2 n\\rceil\\le n\\) раундов.","definition_ids":["directed_graph","cycle","path"]}]},"solutions":[{"id":"sol-official-cycle-and-path-halving","title":"Решение через сжатие цикла и путей","status":"ai_checked","definition_ids":["directed_graph","outdegree","cycle","path"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Будем рассматривать текущие голоса как ориентированный граф: из каждой вершины выходит ровно одна стрелка, направленная к тому игроку, за которого эта вершина сейчас голосует. Обновление вершины \\(a\\) устроено так: если в данный момент \\(a\\to b\\) и \\(b\\to c\\), то стрелка из \\(a\\) заменяется на \\(a\\to c\\). То есть вершина \\(a\\) перепрыгивает через один указатель. Сначала зафиксируем структуру графа. В начальный момент все вершины образуют один направленный цикл. При любом обновлении новая стрелка из \\(a\\) ведет туда, куда до обновления вела стрелка из прежнего соседа \\(b\\). Поэтому обновление не может создать новый направленный цикл: если после замены \\(a\\to c\\) вершина \\(a\\) лежит на цикле, то и до замены путь из \\(c\\) обратно к \\(a\\) вместе со стрелками \\(a\\to b\\to c\\) уже давал цикл. Значит, в каждый момент существует ровно один направленный цикл; остальные вершины, если они есть, леж…"}],"relations":[{"id":"rel-cmo-1971-p10-cmo-2025-p1-directed-dynamics","neighbor_id":"cmo-1971-p10-one-way-phone-gossip","direction":"backward","type":"same_motif","distance":3,"status":"needs_human_review"},{"id":"rel-cmo-2025-p1-functional-halving-lemma","neighbor_id":"functional-digraph-pointer-jumping-round-halving","direction":"forward","type":"prerequisite","distance":1,"status":"ai_checked"},{"id":"rel-cmo-2025-p1-cmo-1994-p3-voting-dynamics","neighbor_id":"cmo-1994-p3-voting-stabilizes-cycle","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2025-p1-cmo-2012-p4-synchronization","neighbor_id":"cmo-2012-p4-synchronizing-grid-robots","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-cmo-2025-p1-apmo-2016-p4-functional-digraph","neighbor_id":"apmo-2016-p4-dreamland-28-step-coloring","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-bounded-forward-rays-cmo-2025-functional-digraph-dynamics","neighbor_id":"bounded-forward-rays-balanced-sums","direction":"backward","type":"same_motif","distance":4,"status":"needs_human_review"},{"id":"rel-imo-2019-c3-cmo-2025-p1-functional-digraph-dynamics","neighbor_id":"imo-2019-c3-coin-process-digraph","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-imo-2021-n8-cmo-2025-functional-dynamics","neighbor_id":"imo-2021-c6-functional-graph-roots","direction":"backward","type":"same_motif","distance":3,"status":"needs_human_review"}],"search_text":"cmo-2025-p1-voting-functional-graph обновление стрелок в функциональном орграфе, cmo 2025 p1 connectivity goal_proof 2025 canadian mathematical olympiad 2025 официальные решения canadian mathematical olympiad 2025 официальные условия cmo cmo2025 https://w7.cms.math.ca/competitions/cmo/archive/exam2025.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2025.pdf solution_notes src-cmo-2025-official src-cmo-2025-solutions statement with_solution ? canadian mathematical olympiad 2025 официальные условия canadian mathematical olympiad 2025 официальные решения stmt-original официальное условие ai_checked \\(n\\) игроков хоккейной команды собираются, чтобы выбрать капитана. сначала они стоят по кругу, и каждый голосует за человека слева от себя. затем игроки будут обновлять свои голоса в серии раундов. в одном раунде каждый игрок \\(a\\) по очереди обновляет свой голос по следующему правилу: в момент обновления, если \\(a\\) голосует за \\(b\\), а \\(b\\) голосует за \\(c\\), то \\(a\\) меняет свой голос на \\(c\\). вершины \\(a,b,c\\) не обязаны быть различными; если \\(b=c\\), то голос \\(a\\) при этом обновлении не меняется. в каждом раунде каждый игрок обновляет свой голос ровно один раз, в порядке, который определяют игроки; этот порядок может меняться от раунда к раунду. они повторяют такую процедуру обновления в течение \\(n\\) раундов. докажите, что к этому моменту все \\(n\\) игроков будут единогласно голосовать за одного и того же человека. stmt-graph обновление стрелок в функциональном орграфе ai_checked пусть дано \\(n\\) вершин, сначала образующих один ориентированный цикл: из каждой вершины выходит ровно одна стрелка к следующей вершине цикла. далее выполняются \\(n\\) раундов. в каждом раунде каждая вершина обновляется ровно один раз, в произвольном порядке, который может меняться от раунда к раунду. если в момент обновления из вершины \\(a\\) выходит стрелка в \\(b\\), а из \\(b\\) выходит стрелка в \\(c\\), то стрелку из \\(a\\) заменяют на стрелку \\(a\\to c\\); если \\(b=c\\), стрелка из \\(a\\) не меняется. докажите, что после этих \\(n\\) раундов все вершины имеют одного и того же исходящего соседа. directed_graph outdegree cycle stmt-hint-halving подсказочная формулировка через сжатие цикла и путей ai_checked в той же модели докажите два вспомогательных факта. во-первых, если в начале раунда единственный направленный цикл имеет длину \\(k>1\\), то к концу раунда его длина не превосходит \\(\\lfloor k/2\\rfloor\\). во-вторых, когда цикл уже стал петлей \\(z\\to z\\), любой путь длины \\(l\\) к \\(z\\) после одного раунда имеет длину не больше \\(\\lceil l/2\\rceil\\). эти две оценки дают единогласие не позднее чем через \\(\\lfloor\\log_2 n\\rfloor+\\lceil\\log_2 n\\rceil\\le n\\) раундов. directed_graph cycle path idea-pointer-jumping голосование является прыжком по указателям если текущий голос игрока \\(a\\) направлен на \\(b\\), а голос \\(b\\) направлен на \\(c\\), то обновление заменяет указатель \\(a\\to b\\) на \\(a\\to c\\). значит, процесс является последовательным перепрыгиванием по указателям в функциональном ориентированном графе. goal_proof ai_checked idea-unique-cycle сохраняется единственный направленный цикл в начале есть один направленный цикл. операция \\(a\\to b\\to c\\), \\(a\\to c\\) только перепрыгивает через следующий указатель в уже существующей компоненте: вершина может выпасть из цикла, но новый цикл не появляется. ai_checked idea-halving раунд как минимум вдвое сжимает цикл или путь внутри одного раунда достаточно много вершин исходного цикла или пути успевают обновиться до того, как их выбросит предыдущее обновление. каждое такое обновление удаляет одну следующую вершину из текущего цикла или пути, поэтому длина уменьшается примерно вдвое. goal_bound ai_checked sol-official-cycle-and-path-halving решение через сжатие цикла и путей ai_checked directed_graph outdegree cycle path будем рассматривать текущие голоса как ориентированный граф: из каждой вершины выходит ровно одна стрелка, направленная к тому игроку, за которого эта вершина сейчас голосует. обновление вершины \\(a\\) устроено так: если в данный момент \\(a\\to b\\) и \\(b\\to c\\), то стрелка из \\(a\\) заменяется на \\(a\\to c\\). то есть вершина \\(a\\) перепрыгивает через один указатель. сначала зафиксируем структуру графа. в начальный момент все вершины образуют один направленный цикл. при любом обновлении новая стрелка из \\(a\\) ведет туда, куда до обновления вела стрелка из прежнего соседа \\(b\\). поэтому обновление не может создать новый направленный цикл: если после замены \\(a\\to c\\) вершина \\(a\\) лежит на цикле, то и до замены путь из \\(c\\) обратно к \\(a\\) вместе со стрелками \\(a\\to b\\to c\\) уже давал цикл. значит, в каждый момент существует ровно один направленный цикл; остальные вершины, если они есть, леж… cmo-2025-p1-voting-functional-graph obnovlenie strelok v funktsionalnom orgrafe, cmo 2025 p1 connectivity goal_proof 2025 canadian mathematical olympiad 2025 ofitsialnye resheniya canadian mathematical olympiad 2025 ofitsialnye usloviya cmo cmo2025 https://w7.cms.math.ca/competitions/cmo/archive/exam2025.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2025.pdf solution_notes src-cmo-2025-official src-cmo-2025-solutions statement with_solution ? canadian mathematical olympiad 2025 ofitsialnye usloviya canadian mathematical olympiad 2025 ofitsialnye resheniya stmt-original ofitsialnoe uslovie ai_checked \\(n\\) igrokov hokkeynoy komandy sobirayutsya, chtoby vybrat kapitana. snachala oni stoyat po krugu, i kazhdyy golosuet za cheloveka sleva ot sebya. zatem igroki budut obnovlyat svoi golosa v serii raundov. v odnom raunde kazhdyy igrok \\(a\\) po ocheredi obnovlyaet svoy golos po sleduyuschemu pravilu: v moment obnovleniya, esli \\(a\\) golosuet za \\(b\\), a \\(b\\) golosuet za \\(c\\), to \\(a\\) menyaet svoy golos na \\(c\\). vershiny \\(a,b,c\\) ne obyazany byt razlichnymi; esli \\(b=c\\), to golos \\(a\\) pri etom obnovlenii ne menyaetsya. v kazhdom raunde kazhdyy igrok obnovlyaet svoy golos rovno odin raz, v poryadke, kotoryy opredelyayut igroki; etot poryadok mozhet menyatsya ot raunda k raundu. oni povtoryayut takuyu protseduru obnovleniya v techenie \\(n\\) raundov. dokazhite, chto k etomu momentu vse \\(n\\) igrokov budut edinoglasno golosovat za odnogo i togo zhe cheloveka. stmt-graph obnovlenie strelok v funktsionalnom orgrafe ai_checked pust dano \\(n\\) vershin, snachala obrazuyuschih odin orientirovannyy tsikl: iz kazhdoy vershiny vyhodit rovno odna strelka k sleduyuschey vershine tsikla. dalee vypolnyayutsya \\(n\\) raundov. v kazhdom raunde kazhdaya vershina obnovlyaetsya rovno odin raz, v proizvolnom poryadke, kotoryy mozhet menyatsya ot raunda k raundu. esli v moment obnovleniya iz vershiny \\(a\\) vyhodit strelka v \\(b\\), a iz \\(b\\) vyhodit strelka v \\(c\\), to strelku iz \\(a\\) zamenyayut na strelku \\(a\\to c\\); esli \\(b=c\\), strelka iz \\(a\\) ne menyaetsya. dokazhite, chto posle etih \\(n\\) raundov vse vershiny imeyut odnogo i togo zhe ishodyaschego soseda. directed_graph outdegree cycle stmt-hint-halving podskazochnaya formulirovka cherez szhatie tsikla i putey ai_checked v toy zhe modeli dokazhite dva vspomogatelnyh fakta. vo-pervyh, esli v nachale raunda edinstvennyy napravlennyy tsikl imeet dlinu \\(k>1\\), to k kontsu raunda ego dlina ne prevoshodit \\(\\lfloor k/2\\rfloor\\). vo-vtoryh, kogda tsikl uzhe stal petley \\(z\\to z\\), lyuboy put dliny \\(l\\) k \\(z\\) posle odnogo raunda imeet dlinu ne bolshe \\(\\lceil l/2\\rceil\\). eti dve otsenki dayut edinoglasie ne pozdnee chem cherez \\(\\lfloor\\log_2 n\\rfloor+\\lceil\\log_2 n\\rceil\\le n\\) raundov. directed_graph cycle path idea-pointer-jumping golosovanie yavlyaetsya pryzhkom po ukazatelyam esli tekuschiy golos igroka \\(a\\) napravlen na \\(b\\), a golos \\(b\\) napravlen na \\(c\\), to obnovlenie zamenyaet ukazatel \\(a\\to b\\) na \\(a\\to c\\). znachit, protsess yavlyaetsya posledovatelnym pereprygivaniem po ukazatelyam v funktsionalnom orientirovannom grafe. goal_proof ai_checked idea-unique-cycle sohranyaetsya edinstvennyy napravlennyy tsikl v nachale est odin napravlennyy tsikl. operatsiya \\(a\\to b\\to c\\), \\(a\\to c\\) tolko pereprygivaet cherez sleduyuschiy ukazatel v uzhe suschestvuyuschey komponente: vershina mozhet vypast iz tsikla, no novyy tsikl ne poyavlyaetsya. ai_checked idea-halving raund kak minimum vdvoe szhimaet tsikl ili put vnutri odnogo raunda dostatochno mnogo vershin ishodnogo tsikla ili puti uspevayut obnovitsya do togo, kak ih vybrosit predyduschee obnovlenie. kazhdoe takoe obnovlenie udalyaet odnu sleduyuschuyu vershinu iz tekuschego tsikla ili puti, poetomu dlina umenshaetsya primerno vdvoe. goal_bound ai_checked sol-official-cycle-and-path-halving reshenie cherez szhatie tsikla i putey ai_checked directed_graph outdegree cycle path budem rassmatrivat tekuschie golosa kak orientirovannyy graf: iz kazhdoy vershiny vyhodit rovno odna strelka, napravlennaya k tomu igroku, za kotorogo eta vershina seychas golosuet. obnovlenie vershiny \\(a\\) ustroeno tak: esli v dannyy moment \\(a\\to b\\) i \\(b\\to c\\), to strelka iz \\(a\\) zamenyaetsya na \\(a\\to c\\). to est vershina \\(a\\) pereprygivaet cherez odin ukazatel. snachala zafiksiruem strukturu grafa. v nachalnyy moment vse vershiny obrazuyut odin napravlennyy tsikl. pri lyubom obnovlenii novaya strelka iz \\(a\\) vedet tuda, kuda do obnovleniya vela strelka iz prezhnego soseda \\(b\\). poetomu obnovlenie ne mozhet sozdat novyy napravlennyy tsikl: esli posle zameny \\(a\\to c\\) vershina \\(a\\) lezhit na tsikle, to i do zameny put iz \\(c\\) obratno k \\(a\\) vmeste so strelkami \\(a\\to b\\to c\\) uzhe daval tsikl. znachit, v kazhdyy moment suschestvuet rovno odin napravlennyy tsikl; ostalnye vershiny, esli oni est, lezh…","source_keys":["cmo"]}
{"id":"cmo-2025-p5-ant-planar-graph","title":"Маршруты в помеченном графе разбиения прямоугольника, CMO 2025 P5","path":"data\\problems\\cmo\\cmo-2025-p5-ant-planar-graph.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2025-p5-ant-planar-graph.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2025-p5-ant-planar-graph","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2025 официальные условия","Canadian Mathematical Olympiad 2025 официальные решения"],"year":"2025","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["planar_graphs","connectivity","degree_counting","goal_impossibility"],"agent_topics":[],"difficulty":{"main":"national_final_hard","local_score":9,"comment":"CMO 2025 P5; официальное Решение 1 переводит утверждение о повторном использовании в разбиении прямоугольника в плоский граф степени 2 и противоречие с непересекающимся спариванием граничных точек.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_plan_completed_by_ai","label":"официальный план, доведённый ИИ","status":"ai_checked","confidence":0.9,"basis":"официальное решение CMS CMO 2025 развёрнуто в локальный самодостаточный текст через вспомогательный плоский граф дуг","notes":"Проверены степени вершин вспомогательного графа, переход от маршрута муравья к пути, парность оставшихся граничных углов и применение непересекаемости чередующихся граничных пар.","audit_source":"official-outline-cleanup-2026-05-16"},"statements":{"original":[{"id":"stmt-original","title":"Условие задачи","status":"ai_checked","text":"Прямоугольник \\(R\\) разбит на множество \\(S\\) из конечного числа меньших прямоугольников со сторонами, параллельными сторонам \\(R\\), так что никакие три прямоугольника из \\(S\\) не имеют общего угла. Муравей сначала находится в левом нижнем углу \\(R\\). За одну операцию можно выбрать прямоугольник \\(r\\in S\\), в одном из углов которого, скажем \\(c\\), сейчас находится муравей, и переместить муравья в один из двух углов \\(r\\), соседних с \\(c\\). Предположим, что после конечного числа операций муравей оказался в правом верхнем углу \\(R\\). Докажите, что некоторый прямоугольник \\(r\\in S\\) был выбран по крайней мере в двух операциях.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Маршруты в помеченном графе разбиения прямоугольника","status":"ai_checked","text":"Пусть прямоугольник \\(R\\) разбит на конечное число прямоугольников со сторонами, параллельными осям, причём никакие три малых прямоугольника не имеют общего угла. Рассматривается помеченный граф: его вершины — все углы малых прямоугольников, а для каждого малого прямоугольника каждая пара соседних углов соединена ребром с меткой этого прямоугольника. Докажите, что всякий маршрут в этом графе из левого нижнего угла \\(R\\) в правый верхний угол \\(R\\) содержит два ребра с одной и той же меткой.","definition_ids":["path"]}],"graph_hint_reformulations":[{"id":"stmt-graph-hint-corner-arcs","title":"","status":"ai_checked","text":"Для доказательства от противного предположите, что каждая метка использована не более одного раза. В каждом малом прямоугольнике проведите две непересекающиеся внутренние дуги, соединяющие две горизонтальные пары соседних углов, если использованное ребро горизонтально, или две вертикальные пары, если оно вертикально; для неиспользованного прямоугольника выберите любую из двух ориентаций. Полученный вложенный граф имеет четыре угла \\(R\\) в качестве вершин степени 1, а все остальные вершины имеют степень 2. Покажите, что такой граф не может содержать путь из левого нижнего угла \\(R\\) в правый верхний.","definition_ids":["degree","path","planar_graph"]}]},"solutions":[{"id":"sol-official-planar-arcs","title":"Решение через плоский граф дуг","status":"ai_checked","definition_ids":["degree","path","cycle","planar_graph"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Предположим противное: муравей дошел из левого нижнего угла прямоугольника \\(R\\) в правый верхний, и при этом каждый маленький прямоугольник был выбран не более одного раза. Построим вспомогательный плоский граф. Его вершинами будут все точки, являющиеся углами маленьких прямоугольников. Для каждого маленького прямоугольника \\(r\\) проведем внутри него две непересекающиеся дуги между парами соседних углов. Если муравей при единственном выборе \\(r\\) прошел из одного угла \\(r\\) в соседний по горизонтальной стороне, проводим две горизонтальные дуги: между двумя нижними углами и между двумя верхними. Если он прошел по вертикальной стороне, проводим две вертикальные дуги. Если прямоугольник \\(r\\) вообще не выбирался, выбираем один из двух вариантов произвольно. Ребрами графа считаем эти дуги. Тогда каждый ход муравья идет по одному из ребер построенного графа: для выбранного прямоугольника мы…"}],"relations":[{"id":"rel-cmo-2025-p5-alternating-boundary-arcs","neighbor_id":"alternating-boundary-pairs-noncrossing-arcs","direction":"backward","type":"prerequisite","distance":1,"status":"ai_checked"},{"id":"rel-cmo-2025-p5-cmo-1977-rectangular-paths","neighbor_id":"cmo-1977-p7-rectangular-city-self-avoiding-paths","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2025-p5-cmo-2015-grid-hamiltonian","neighbor_id":"cmo-2015-p3-grid-hamiltonian-turtle","direction":"forward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-yumt-2014-gr2-p9-cmo-2025-planar-obstruction","neighbor_id":"yumt-2014-grand-round2-problem9","direction":"backward","type":"same_motif","distance":3,"status":"needs_human_review"}],"search_text":"cmo-2025-p5-ant-planar-graph маршруты в помеченном графе разбиения прямоугольника, cmo 2025 p5 planar_graphs connectivity degree_counting goal_impossibility 2025 canadian mathematical olympiad 2025 официальные решения canadian mathematical olympiad 2025 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2025 https://w7.cms.math.ca/competitions/cmo/archive/exam2025.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2025.pdf solution_notes src-cmo-2025-official src-cmo-2025-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2025 официальные условия canadian mathematical olympiad 2025 официальные решения stmt-original условие задачи ai_checked прямоугольник \\(r\\) разбит на множество \\(s\\) из конечного числа меньших прямоугольников со сторонами, параллельными сторонам \\(r\\), так что никакие три прямоугольника из \\(s\\) не имеют общего угла. муравей сначала находится в левом нижнем углу \\(r\\). за одну операцию можно выбрать прямоугольник \\(r\\in s\\), в одном из углов которого, скажем \\(c\\), сейчас находится муравей, и переместить муравья в один из двух углов \\(r\\), соседних с \\(c\\). предположим, что после конечного числа операций муравей оказался в правом верхнем углу \\(r\\). докажите, что некоторый прямоугольник \\(r\\in s\\) был выбран по крайней мере в двух операциях. stmt-graph маршруты в помеченном графе разбиения прямоугольника ai_checked пусть прямоугольник \\(r\\) разбит на конечное число прямоугольников со сторонами, параллельными осям, причём никакие три малых прямоугольника не имеют общего угла. рассматривается помеченный граф: его вершины — все углы малых прямоугольников, а для каждого малого прямоугольника каждая пара соседних углов соединена ребром с меткой этого прямоугольника. докажите, что всякий маршрут в этом графе из левого нижнего угла \\(r\\) в правый верхний угол \\(r\\) содержит два ребра с одной и той же меткой. path stmt-graph-hint-corner-arcs ai_checked для доказательства от противного предположите, что каждая метка использована не более одного раза. в каждом малом прямоугольнике проведите две непересекающиеся внутренние дуги, соединяющие две горизонтальные пары соседних углов, если использованное ребро горизонтально, или две вертикальные пары, если оно вертикально; для неиспользованного прямоугольника выберите любую из двух ориентаций. полученный вложенный граф имеет четыре угла \\(r\\) в качестве вершин степени 1, а все остальные вершины имеют степень 2. покажите, что такой граф не может содержать путь из левого нижнего угла \\(r\\) в правый верхний. degree path planar_graph idea-degree-one-corners граничные углы степени 1 заставляют пары концов пересекаться если ни один малый прямоугольник не используется дважды, официальный вспомогательный граф является объединением путей и циклов. его единственные вершины степени 1 — четыре угла большого прямоугольника; маршрут из левого нижнего угла в правый верхний содержит путь между этими углами и заставил бы существовать другой непересекающийся путь из правого нижнего угла в левый верхний, что невозможно в плоском прямоугольнике. planar_graphs degree_counting ai_checked sol-official-planar-arcs решение через плоский граф дуг ai_checked degree path cycle planar_graph предположим противное: муравей дошел из левого нижнего угла прямоугольника \\(r\\) в правый верхний, и при этом каждый маленький прямоугольник был выбран не более одного раза. построим вспомогательный плоский граф. его вершинами будут все точки, являющиеся углами маленьких прямоугольников. для каждого маленького прямоугольника \\(r\\) проведем внутри него две непересекающиеся дуги между парами соседних углов. если муравей при единственном выборе \\(r\\) прошел из одного угла \\(r\\) в соседний по горизонтальной стороне, проводим две горизонтальные дуги: между двумя нижними углами и между двумя верхними. если он прошел по вертикальной стороне, проводим две вертикальные дуги. если прямоугольник \\(r\\) вообще не выбирался, выбираем один из двух вариантов произвольно. ребрами графа считаем эти дуги. тогда каждый ход муравья идет по одному из ребер построенного графа: для выбранного прямоугольника мы… cmo-2025-p5-ant-planar-graph marshruty v pomechennom grafe razbieniya pryamougolnika, cmo 2025 p5 planar_graphs connectivity degree_counting goal_impossibility 2025 canadian mathematical olympiad 2025 ofitsialnye resheniya canadian mathematical olympiad 2025 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2025 https://w7.cms.math.ca/competitions/cmo/archive/exam2025.pdf https://w7.cms.math.ca/competitions/cmo/archive/sol2025.pdf solution_notes src-cmo-2025-official src-cmo-2025-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2025 ofitsialnye usloviya canadian mathematical olympiad 2025 ofitsialnye resheniya stmt-original uslovie zadachi ai_checked pryamougolnik \\(r\\) razbit na mnozhestvo \\(s\\) iz konechnogo chisla menshih pryamougolnikov so storonami, parallelnymi storonam \\(r\\), tak chto nikakie tri pryamougolnika iz \\(s\\) ne imeyut obschego ugla. muravey snachala nahoditsya v levom nizhnem uglu \\(r\\). za odnu operatsiyu mozhno vybrat pryamougolnik \\(r\\in s\\), v odnom iz uglov kotorogo, skazhem \\(c\\), seychas nahoditsya muravey, i peremestit muravya v odin iz dvuh uglov \\(r\\), sosednih s \\(c\\). predpolozhim, chto posle konechnogo chisla operatsiy muravey okazalsya v pravom verhnem uglu \\(r\\). dokazhite, chto nekotoryy pryamougolnik \\(r\\in s\\) byl vybran po krayney mere v dvuh operatsiyah. stmt-graph marshruty v pomechennom grafe razbieniya pryamougolnika ai_checked pust pryamougolnik \\(r\\) razbit na konechnoe chislo pryamougolnikov so storonami, parallelnymi osyam, prichem nikakie tri malyh pryamougolnika ne imeyut obschego ugla. rassmatrivaetsya pomechennyy graf: ego vershiny — vse ugly malyh pryamougolnikov, a dlya kazhdogo malogo pryamougolnika kazhdaya para sosednih uglov soedinena rebrom s metkoy etogo pryamougolnika. dokazhite, chto vsyakiy marshrut v etom grafe iz levogo nizhnego ugla \\(r\\) v pravyy verhniy ugol \\(r\\) soderzhit dva rebra s odnoy i toy zhe metkoy. path stmt-graph-hint-corner-arcs ai_checked dlya dokazatelstva ot protivnogo predpolozhite, chto kazhdaya metka ispolzovana ne bolee odnogo raza. v kazhdom malom pryamougolnike provedite dve neperesekayuschiesya vnutrennie dugi, soedinyayuschie dve gorizontalnye pary sosednih uglov, esli ispolzovannoe rebro gorizontalno, ili dve vertikalnye pary, esli ono vertikalno; dlya neispolzovannogo pryamougolnika vyberite lyubuyu iz dvuh orientatsiy. poluchennyy vlozhennyy graf imeet chetyre ugla \\(r\\) v kachestve vershin stepeni 1, a vse ostalnye vershiny imeyut stepen 2. pokazhite, chto takoy graf ne mozhet soderzhat put iz levogo nizhnego ugla \\(r\\) v pravyy verhniy. degree path planar_graph idea-degree-one-corners granichnye ugly stepeni 1 zastavlyayut pary kontsov peresekatsya esli ni odin malyy pryamougolnik ne ispolzuetsya dvazhdy, ofitsialnyy vspomogatelnyy graf yavlyaetsya obedineniem putey i tsiklov. ego edinstvennye vershiny stepeni 1 — chetyre ugla bolshogo pryamougolnika; marshrut iz levogo nizhnego ugla v pravyy verhniy soderzhit put mezhdu etimi uglami i zastavil by suschestvovat drugoy neperesekayuschiysya put iz pravogo nizhnego ugla v levyy verhniy, chto nevozmozhno v ploskom pryamougolnike. planar_graphs degree_counting ai_checked sol-official-planar-arcs reshenie cherez ploskiy graf dug ai_checked degree path cycle planar_graph predpolozhim protivnoe: muravey doshel iz levogo nizhnego ugla pryamougolnika \\(r\\) v pravyy verhniy, i pri etom kazhdyy malenkiy pryamougolnik byl vybran ne bolee odnogo raza. postroim vspomogatelnyy ploskiy graf. ego vershinami budut vse tochki, yavlyayuschiesya uglami malenkih pryamougolnikov. dlya kazhdogo malenkogo pryamougolnika \\(r\\) provedem vnutri nego dve neperesekayuschiesya dugi mezhdu parami sosednih uglov. esli muravey pri edinstvennom vybore \\(r\\) proshel iz odnogo ugla \\(r\\) v sosedniy po gorizontalnoy storone, provodim dve gorizontalnye dugi: mezhdu dvumya nizhnimi uglami i mezhdu dvumya verhnimi. esli on proshel po vertikalnoy storone, provodim dve vertikalnye dugi. esli pryamougolnik \\(r\\) voobsche ne vybiralsya, vybiraem odin iz dvuh variantov proizvolno. rebrami grafa schitaem eti dugi. togda kazhdyy hod muravya idet po odnomu iz reber postroennogo grafa: dlya vybrannogo pryamougolnika my…","source_keys":["cmo"]}
{"id":"cmo-2026-p3-grid-hamiltonian-snail","title":"Игра на гамильтоновом пути решётки, CMO 2026 P3","path":"data\\problems\\cmo\\cmo-2026-p3-grid-hamiltonian-snail.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/cmo/cmo-2026-p3-grid-hamiltonian-snail.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#cmo-2026-p3-grid-hamiltonian-snail","source_key":"cmo","source_label":"CMO","source_titles":["Canadian Mathematical Olympiad 2026 официальные условия","Canadian Mathematical Olympiad 2026 официальные решения"],"year":"2026","type":"olympiad_problem","authors":["Canadian Mathematical Olympiad Committee"],"tags":["hamiltonian_cycles","coloring","parity_coloring","double_counting","goal_exact_bound","goal_strategy_game"],"agent_topics":["game_strategy"],"difficulty":{"main":"national_final_medium","local_score":8,"comment":"CMO 2026 P3; точное минимаксное значение получается из нижней оценки шахматной раскраской и усреднения по двум противоположным обходам гамильтонова цикла чётной решётки.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"official_complete_or_near_complete","status":"ai_checked","confidence":0.82,"basis":"официальный источник решения и несжатый текст решения","notes":"Текущий текст основан на официальном источнике и выглядит полным или почти полным.","label":"официальное полное/почти полное"},"statements":{"original":[{"id":"stmt-original","title":"Условие задачи","status":"ai_checked","text":"Улитка Turbo играет в игру на доске с \\(2n\\) строками и \\(2n\\) столбцами. Есть \\(2n^2\\) чудовищ, которые сначала, зная всё о Turbo, выбирают \\(2n^2\\) различных клеток и занимают их. После этого Turbo выбирает любую клетку и помечает её числом \\(1\\). Начиная с этой клетки, Turbo затем проходит через все остальные \\(4n^2-1\\) клетки ровно по одному разу, помечая их по порядку числами \\(2,3,\\ldots,4n^2\\). Turbo ходит только между клетками с общей стороной и никогда не возвращается в уже посещённую клетку. Итоговый счёт равен сумме меток клеток с чудовищами. Чудовища стараются расположиться так, чтобы максимизировать счёт, а Turbo старается минимизировать счёт, зная расположение чудовищ. Найдите, в терминах \\(n\\), наибольший счёт, который чудовища могут гарантировать.","definition_ids":[]}],"graph_theory":[{"id":"stmt-graph","title":"Игра на гамильтоновом пути решётки","status":"ai_checked","text":"Пусть \\(G\\) — квадратный решётчатый граф размера \\((2n)\\times(2n)\\), вершинами которого являются клетки доски \\(2n\\) на \\(2n\\), а рёбра соединяют клетки с общей стороной. Сначала выбирается множество \\(M\\subseteq V(G)\\) размера \\(2n^2\\). Затем выбирается гамильтонов путь в \\(G\\), и его вершины помечаются числами \\(1,2,\\ldots,4n^2\\) в порядке прохождения пути. Счёт равен сумме меток на вершинах из \\(M\\). Выбирающий \\(M\\) хочет максимизировать этот счёт, а выбирающий гамильтонов путь хочет минимизировать его после того, как увидит \\(M\\). Определите значение этой игры в терминах \\(n\\).","definition_ids":["hamiltonian_path"]}],"graph_hint_reformulations":[{"id":"stmt-graph-hint-cycle-pairing","title":"","status":"ai_checked","text":"Для верхней оценки используйте гамильтонов цикл чётной квадратной решётки. Если одну отмеченную вершину выбрать начальной, то два гамильтоновых пути, полученные обходом цикла в двух противоположных направлениях, дают каждой другой отмеченной вершине дополняющие друг друга метки.","definition_ids":["hamiltonian_cycle","hamiltonian_path"]}]},"solutions":[{"id":"sol-official-checkerboard-cycle-pairing","title":"Шахматная расстановка и два обхода гамильтонова цикла","status":"ai_checked","definition_ids":["hamiltonian_cycle","hamiltonian_path"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Ответ: \\(4n^4\\). Сначала докажем, что чудовища могут гарантировать не меньше \\(4n^4\\). Раскрасим клетки доски в шахматном порядке. Так как доска имеет размер \\(2n\\times 2n\\), в каждом цвете ровно половина клеток, то есть \\(2n^2\\) клеток. Пусть чудовища займут все клетки одного цвета. Любой ход Turbo идет между соседними по стороне клетками, а соседние клетки имеют разные цвета. Поэтому вдоль любого пути цвета клеток чередуются. Если Turbo начнет с клетки цвета чудовищ, то чудовища окажутся ровно на местах с нечетными номерами \\(1,3,5,\\ldots,4n^2-1\\). Если он начнет с клетки другого цвета, то чудовища окажутся на местах с четными номерами \\(2,4, \\ldots,4n^2\\), что дает больший счет. Значит при такой расстановке оптимальный выбор Turbo дает чудовищам сумму первых \\(2n^2\\) нечетных чисел: \\[ 1+3+\\cdots+(4n^2-1)=(2n^2)^2=4n^4. \\] Следовательно, чудовища действительно могут гарантировать сче…"}],"relations":[{"id":"rel-cmo-1996-p3-cmo-2026-p3-hamiltonian-path-counting","neighbor_id":"cmo-1996-p3-permutation-step-two-mod3","direction":"backward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-cmo-2015-p3-cmo-2026-p3-grid-hamiltonian-cycle","neighbor_id":"cmo-2015-p3-grid-hamiltonian-turtle","direction":"backward","type":"same_motif","distance":2,"status":"needs_human_review"},{"id":"rel-cmo-2018-p3-cmo-2026-p3-grid-snail","neighbor_id":"cmo-2018-p3-divisor-prime-related-cycle","direction":"backward","type":"same_motif","distance":3,"status":"ai_checked"},{"id":"rel-cmo-2026-p3-cmo-2008-p5-grid-paths","neighbor_id":"cmo-2008-p5-self-avoiding-rook-walks","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2026-p3-cmo-1977-p7-grid-self-avoiding","neighbor_id":"cmo-1977-p7-rectangular-city-self-avoiding-paths","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2026-p3-bmo-2025-p4-hamiltonian-cycle","neighbor_id":"bmo-2025-p4-flights-long-short-paths","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"}],"search_text":"cmo-2026-p3-grid-hamiltonian-snail игра на гамильтоновом пути решётки, cmo 2026 p3 hamiltonian_cycles coloring parity_coloring double_counting goal_exact_bound goal_strategy_game 2026 canadian mathematical olympiad 2026 официальные решения canadian mathematical olympiad 2026 официальные условия canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2026 https://cms.math.ca/wp-content/uploads/2026/03/cmo2026-problems.pdf https://cms.math.ca/wp-content/uploads/2026/04/cmo2026-solutions.pdf solution_notes src-cmo-2026-official src-cmo-2026-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2026 официальные условия canadian mathematical olympiad 2026 официальные решения stmt-original условие задачи ai_checked улитка turbo играет в игру на доске с \\(2n\\) строками и \\(2n\\) столбцами. есть \\(2n^2\\) чудовищ, которые сначала, зная всё о turbo, выбирают \\(2n^2\\) различных клеток и занимают их. после этого turbo выбирает любую клетку и помечает её числом \\(1\\). начиная с этой клетки, turbo затем проходит через все остальные \\(4n^2-1\\) клетки ровно по одному разу, помечая их по порядку числами \\(2,3,\\ldots,4n^2\\). turbo ходит только между клетками с общей стороной и никогда не возвращается в уже посещённую клетку. итоговый счёт равен сумме меток клеток с чудовищами. чудовища стараются расположиться так, чтобы максимизировать счёт, а turbo старается минимизировать счёт, зная расположение чудовищ. найдите, в терминах \\(n\\), наибольший счёт, который чудовища могут гарантировать. stmt-graph игра на гамильтоновом пути решётки ai_checked пусть \\(g\\) — квадратный решётчатый граф размера \\((2n)\\times(2n)\\), вершинами которого являются клетки доски \\(2n\\) на \\(2n\\), а рёбра соединяют клетки с общей стороной. сначала выбирается множество \\(m\\subseteq v(g)\\) размера \\(2n^2\\). затем выбирается гамильтонов путь в \\(g\\), и его вершины помечаются числами \\(1,2,\\ldots,4n^2\\) в порядке прохождения пути. счёт равен сумме меток на вершинах из \\(m\\). выбирающий \\(m\\) хочет максимизировать этот счёт, а выбирающий гамильтонов путь хочет минимизировать его после того, как увидит \\(m\\). определите значение этой игры в терминах \\(n\\). hamiltonian_path stmt-graph-hint-cycle-pairing ai_checked для верхней оценки используйте гамильтонов цикл чётной квадратной решётки. если одну отмеченную вершину выбрать начальной, то два гамильтоновых пути, полученные обходом цикла в двух противоположных направлениях, дают каждой другой отмеченной вершине дополняющие друг друга метки. hamiltonian_cycle hamiltonian_path idea-checkerboard-lower-bound шахматный цветовой класс заставляет брать нечётные метки если чудовища занимают один цветовой класс шахматной раскраски, всякий гамильтонов путь чередует цвета. turbo может выбрать цвет начальной клетки, но лучший выбор всё равно помещает чудовищ ровно на нечётные позиции, сумма которых равна \\(4n^4\\). coloring parity_coloring goal_construction ai_checked idea-hamiltonian-cycle-pairing противоположные направления вдоль гамильтонова цикла спаривают счета для любого расположения чудовищ начнём с одной клетки с чудовищем и сравним два гамильтоновых пути, полученных обходом гамильтонова цикла в противоположных направлениях. каждое не начальное чудовище получает метки, сумма которых в двух направлениях равна \\(4n^2+2\\), а начальное даёт вклад \\(1+1\\). hamiltonian_cycles double_counting ai_checked sol-official-checkerboard-cycle-pairing шахматная расстановка и два обхода гамильтонова цикла ai_checked hamiltonian_cycle hamiltonian_path ответ: \\(4n^4\\). сначала докажем, что чудовища могут гарантировать не меньше \\(4n^4\\). раскрасим клетки доски в шахматном порядке. так как доска имеет размер \\(2n\\times 2n\\), в каждом цвете ровно половина клеток, то есть \\(2n^2\\) клеток. пусть чудовища займут все клетки одного цвета. любой ход turbo идет между соседними по стороне клетками, а соседние клетки имеют разные цвета. поэтому вдоль любого пути цвета клеток чередуются. если turbo начнет с клетки цвета чудовищ, то чудовища окажутся ровно на местах с нечетными номерами \\(1,3,5,\\ldots,4n^2-1\\). если он начнет с клетки другого цвета, то чудовища окажутся на местах с четными номерами \\(2,4, \\ldots,4n^2\\), что дает больший счет. значит при такой расстановке оптимальный выбор turbo дает чудовищам сумму первых \\(2n^2\\) нечетных чисел: \\[ 1+3+\\cdots+(4n^2-1)=(2n^2)^2=4n^4. \\] следовательно, чудовища действительно могут гарантировать сче… cmo-2026-p3-grid-hamiltonian-snail igra na gamiltonovom puti reshetki, cmo 2026 p3 hamiltonian_cycles coloring parity_coloring double_counting goal_exact_bound goal_strategy_game 2026 canadian mathematical olympiad 2026 ofitsialnye resheniya canadian mathematical olympiad 2026 ofitsialnye usloviya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee cmo cmo2026 https://cms.math.ca/wp-content/uploads/2026/03/cmo2026-problems.pdf https://cms.math.ca/wp-content/uploads/2026/04/cmo2026-solutions.pdf solution_notes src-cmo-2026-official src-cmo-2026-solutions statement with_solution canadian mathematical olympiad committee canadian mathematical olympiad 2026 ofitsialnye usloviya canadian mathematical olympiad 2026 ofitsialnye resheniya stmt-original uslovie zadachi ai_checked ulitka turbo igraet v igru na doske s \\(2n\\) strokami i \\(2n\\) stolbtsami. est \\(2n^2\\) chudovisch, kotorye snachala, znaya vse o turbo, vybirayut \\(2n^2\\) razlichnyh kletok i zanimayut ih. posle etogo turbo vybiraet lyubuyu kletku i pomechaet ee chislom \\(1\\). nachinaya s etoy kletki, turbo zatem prohodit cherez vse ostalnye \\(4n^2-1\\) kletki rovno po odnomu razu, pomechaya ih po poryadku chislami \\(2,3,\\ldots,4n^2\\). turbo hodit tolko mezhdu kletkami s obschey storonoy i nikogda ne vozvraschaetsya v uzhe poseschennuyu kletku. itogovyy schet raven summe metok kletok s chudovischami. chudovischa starayutsya raspolozhitsya tak, chtoby maksimizirovat schet, a turbo staraetsya minimizirovat schet, znaya raspolozhenie chudovisch. naydite, v terminah \\(n\\), naibolshiy schet, kotoryy chudovischa mogut garantirovat. stmt-graph igra na gamiltonovom puti reshetki ai_checked pust \\(g\\) — kvadratnyy reshetchatyy graf razmera \\((2n)\\times(2n)\\), vershinami kotorogo yavlyayutsya kletki doski \\(2n\\) na \\(2n\\), a rebra soedinyayut kletki s obschey storonoy. snachala vybiraetsya mnozhestvo \\(m\\subseteq v(g)\\) razmera \\(2n^2\\). zatem vybiraetsya gamiltonov put v \\(g\\), i ego vershiny pomechayutsya chislami \\(1,2,\\ldots,4n^2\\) v poryadke prohozhdeniya puti. schet raven summe metok na vershinah iz \\(m\\). vybirayuschiy \\(m\\) hochet maksimizirovat etot schet, a vybirayuschiy gamiltonov put hochet minimizirovat ego posle togo, kak uvidit \\(m\\). opredelite znachenie etoy igry v terminah \\(n\\). hamiltonian_path stmt-graph-hint-cycle-pairing ai_checked dlya verhney otsenki ispolzuyte gamiltonov tsikl chetnoy kvadratnoy reshetki. esli odnu otmechennuyu vershinu vybrat nachalnoy, to dva gamiltonovyh puti, poluchennye obhodom tsikla v dvuh protivopolozhnyh napravleniyah, dayut kazhdoy drugoy otmechennoy vershine dopolnyayuschie drug druga metki. hamiltonian_cycle hamiltonian_path idea-checkerboard-lower-bound shahmatnyy tsvetovoy klass zastavlyaet brat nechetnye metki esli chudovischa zanimayut odin tsvetovoy klass shahmatnoy raskraski, vsyakiy gamiltonov put chereduet tsveta. turbo mozhet vybrat tsvet nachalnoy kletki, no luchshiy vybor vse ravno pomeschaet chudovisch rovno na nechetnye pozitsii, summa kotoryh ravna \\(4n^4\\). coloring parity_coloring goal_construction ai_checked idea-hamiltonian-cycle-pairing protivopolozhnye napravleniya vdol gamiltonova tsikla sparivayut scheta dlya lyubogo raspolozheniya chudovisch nachnem s odnoy kletki s chudovischem i sravnim dva gamiltonovyh puti, poluchennyh obhodom gamiltonova tsikla v protivopolozhnyh napravleniyah. kazhdoe ne nachalnoe chudovische poluchaet metki, summa kotoryh v dvuh napravleniyah ravna \\(4n^2+2\\), a nachalnoe daet vklad \\(1+1\\). hamiltonian_cycles double_counting ai_checked sol-official-checkerboard-cycle-pairing shahmatnaya rasstanovka i dva obhoda gamiltonova tsikla ai_checked hamiltonian_cycle hamiltonian_path otvet: \\(4n^4\\). snachala dokazhem, chto chudovischa mogut garantirovat ne menshe \\(4n^4\\). raskrasim kletki doski v shahmatnom poryadke. tak kak doska imeet razmer \\(2n\\times 2n\\), v kazhdom tsvete rovno polovina kletok, to est \\(2n^2\\) kletok. pust chudovischa zaymut vse kletki odnogo tsveta. lyuboy hod turbo idet mezhdu sosednimi po storone kletkami, a sosednie kletki imeyut raznye tsveta. poetomu vdol lyubogo puti tsveta kletok chereduyutsya. esli turbo nachnet s kletki tsveta chudovisch, to chudovischa okazhutsya rovno na mestah s nechetnymi nomerami \\(1,3,5,\\ldots,4n^2-1\\). esli on nachnet s kletki drugogo tsveta, to chudovischa okazhutsya na mestah s chetnymi nomerami \\(2,4, \\ldots,4n^2\\), chto daet bolshiy schet. znachit pri takoy rasstanovke optimalnyy vybor turbo daet chudovischam summu pervyh \\(2n^2\\) nechetnyh chisel: \\[ 1+3+\\cdots+(4n^2-1)=(2n^2)^2=4n^4. \\] sledovatelno, chudovischa deystvitelno mogut garantirovat sche…","source_keys":["cmo"]}
{"id":"consecutive-pair-barrier-step-two-permutation","title":"Барьер из соседней пары в перестановке с шагом не больше двух","path":"data\\problems\\classical\\consecutive-pair-barrier-step-two-permutation.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/classical/consecutive-pair-barrier-step-two-permutation.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#consecutive-pair-barrier-step-two-permutation","source_key":"misc","source_label":"Прочее","source_titles":["Canadian Mathematical Olympiad 1996 официальные решения"],"year":"","type":"lemma","authors":["Canadian Mathematical Olympiad Committee"],"tags":["goal_proof"],"agent_topics":[],"difficulty":{"main":"regional","local_score":3,"comment":"Короткая структурная лемма для перестановок с ограниченным соседним скачком; в CMO 1996 P3 она запускает разбор случаев и рекурсию.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"unofficial_published","label":"опубликованное неофициальное","status":"ai_checked","confidence":0.78,"basis":"агентский аудит средней сложности","notes":"Карточка подкреплена опубликованными неофициальными, справочными, журнальными, вики-, форумными источниками или страницами задач.","audit_source":"agent-imo-us-classical.json"},"statements":{"original":[{"id":"stmt-original","title":"","status":"ai_checked","text":"Пусть \\(a_1,a_2,\\ldots,a_n\\) — перестановка чисел \\(1,2,\\ldots,n\\), в которой \\(|a_i-a_{i+1}|\\le 2\\) для всех \\(i\\). Если для некоторого \\(k<n\\) числа \\(a_k\\) и \\(a_{k+1}\\) являются соседними целыми числами, то все члены справа от \\(a_{k+1}\\) лежат по одну сторону от этой пары: они либо все меньше \\(\\min(a_k,a_{k+1})\\), либо все больше \\(\\max(a_k,a_{k+1})\\).","definition_ids":[]}]},"solutions":[{"id":"sol-gap-crossing-contradiction","title":"Противоречие по первому переходу через зазор","status":"ai_checked","definition_ids":[],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Обозначим соседнюю пару через \\(m,m+1\\). Предположим, что справа от неё встречаются числа по обе стороны: хотя бы одно число не больше \\(m-1\\) и хотя бы одно число не меньше \\(m+2\\). Двигаясь по хвосту перестановки справа от этой пары, рассмотрим первый момент, когда последовательность переходит с одной стороны зазора \\(m,m+1\\) на другую. Этот переход не может использовать сами числа \\(m\\) и \\(m+1\\), потому что они уже стоят в позициях \\(k\\) и \\(k+1\\). Значит, два соседних члена хвоста имеют вид \\(x\\le m-1\\) и \\(y\\ge m+2\\), или наоборот. Тогда \\(|x-y|\\ge 3\\), что противоречит условию \\(|a_i-a_{i+1}|\\le 2\\). Следовательно, все члены справа от пары лежат по одну сторону от неё."}],"relations":[{"id":"rel-consecutive-pair-barrier-cmo-1996-p3","neighbor_id":"cmo-1996-p3-permutation-step-two-mod3","direction":"forward","type":"prerequisite","distance":1,"status":"ai_checked"}],"search_text":"consecutive-pair-barrier-step-two-permutation барьер из соседней пары в перестановке с шагом не больше двух goal_proof canadian mathematical olympiad 1996 официальные решения canadian mathematical olympiad committee canadianmathematicalolympiadcommittee https://w7.cms.math.ca/competitions/cmo/archive/sol1996.pdf misc solution_notes src-cmo-1996-solutions with_solution прочее canadian mathematical olympiad committee canadian mathematical olympiad 1996 официальные решения stmt-original ai_checked пусть \\(a_1,a_2,\\ldots,a_n\\) — перестановка чисел \\(1,2,\\ldots,n\\), в которой \\(|a_i-a_{i+1}|\\le 2\\) для всех \\(i\\). если для некоторого \\(k<n\\) числа \\(a_k\\) и \\(a_{k+1}\\) являются соседними целыми числами, то все члены справа от \\(a_{k+1}\\) лежат по одну сторону от этой пары: они либо все меньше \\(\\min(a_k,a_{k+1})\\), либо все больше \\(\\max(a_k,a_{k+1})\\). idea-used-pair-blocks-crossing использованная соседняя пара блокирует переход после того как путь прошёл через два соседних значения \\(m\\) и \\(m+1\\), перейти позже с чисел \\(\\le m-1\\) на числа \\(\\ge m+2\\) невозможно: ближайшие промежуточные значения уже использованы, а прямой скачок имеет длину не меньше 3. goal_proof ai_checked sol-gap-crossing-contradiction противоречие по первому переходу через зазор ai_checked обозначим соседнюю пару через \\(m,m+1\\). предположим, что справа от неё встречаются числа по обе стороны: хотя бы одно число не больше \\(m-1\\) и хотя бы одно число не меньше \\(m+2\\). двигаясь по хвосту перестановки справа от этой пары, рассмотрим первый момент, когда последовательность переходит с одной стороны зазора \\(m,m+1\\) на другую. этот переход не может использовать сами числа \\(m\\) и \\(m+1\\), потому что они уже стоят в позициях \\(k\\) и \\(k+1\\). значит, два соседних члена хвоста имеют вид \\(x\\le m-1\\) и \\(y\\ge m+2\\), или наоборот. тогда \\(|x-y|\\ge 3\\), что противоречит условию \\(|a_i-a_{i+1}|\\le 2\\). следовательно, все члены справа от пары лежат по одну сторону от неё. consecutive-pair-barrier-step-two-permutation barer iz sosedney pary v perestanovke s shagom ne bolshe dvuh goal_proof canadian mathematical olympiad 1996 ofitsialnye resheniya canadian mathematical olympiad committee canadianmathematicalolympiadcommittee https://w7.cms.math.ca/competitions/cmo/archive/sol1996.pdf misc solution_notes src-cmo-1996-solutions with_solution prochee canadian mathematical olympiad committee canadian mathematical olympiad 1996 ofitsialnye resheniya stmt-original ai_checked pust \\(a_1,a_2,\\ldots,a_n\\) — perestanovka chisel \\(1,2,\\ldots,n\\), v kotoroy \\(|a_i-a_{i+1}|\\le 2\\) dlya vseh \\(i\\). esli dlya nekotorogo \\(k<n\\) chisla \\(a_k\\) i \\(a_{k+1}\\) yavlyayutsya sosednimi tselymi chislami, to vse chleny sprava ot \\(a_{k+1}\\) lezhat po odnu storonu ot etoy pary: oni libo vse menshe \\(\\min(a_k,a_{k+1})\\), libo vse bolshe \\(\\max(a_k,a_{k+1})\\). idea-used-pair-blocks-crossing ispolzovannaya sosednyaya para blokiruet perehod posle togo kak put proshel cherez dva sosednih znacheniya \\(m\\) i \\(m+1\\), pereyti pozzhe s chisel \\(\\le m-1\\) na chisla \\(\\ge m+2\\) nevozmozhno: blizhayshie promezhutochnye znacheniya uzhe ispolzovany, a pryamoy skachok imeet dlinu ne menshe 3. goal_proof ai_checked sol-gap-crossing-contradiction protivorechie po pervomu perehodu cherez zazor ai_checked oboznachim sosednyuyu paru cherez \\(m,m+1\\). predpolozhim, chto sprava ot nee vstrechayutsya chisla po obe storony: hotya by odno chislo ne bolshe \\(m-1\\) i hotya by odno chislo ne menshe \\(m+2\\). dvigayas po hvostu perestanovki sprava ot etoy pary, rassmotrim pervyy moment, kogda posledovatelnost perehodit s odnoy storony zazora \\(m,m+1\\) na druguyu. etot perehod ne mozhet ispolzovat sami chisla \\(m\\) i \\(m+1\\), potomu chto oni uzhe stoyat v pozitsiyah \\(k\\) i \\(k+1\\). znachit, dva sosednih chlena hvosta imeyut vid \\(x\\le m-1\\) i \\(y\\ge m+2\\), ili naoborot. togda \\(|x-y|\\ge 3\\), chto protivorechit usloviyu \\(|a_i-a_{i+1}|\\le 2\\). sledovatelno, vse chleny sprava ot pary lezhat po odnu storonu ot nee.","source_keys":["misc","cmo"]}
{"id":"functional-digraph-pointer-jumping-round-halving","title":"Сжатие цикла и путей за один раунд прыжков по указателям","path":"data\\problems\\classical\\functional-digraph-pointer-jumping-round-halving.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/classical/functional-digraph-pointer-jumping-round-halving.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#functional-digraph-pointer-jumping-round-halving","source_key":"misc","source_label":"Прочее","source_titles":["Canadian Mathematical Olympiad 2025 официальные решения"],"year":"","type":"lemma","authors":[],"tags":["invariant","extremal_choice","goal_bound"],"agent_topics":[],"difficulty":{"main":"national_final_easy","local_score":5,"comment":"Техническая лемма из CMO 2025 P1: короткая, но требует аккуратного учета произвольного порядка обновлений внутри раунда.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"unofficial_published","label":"опубликованное неофициальное","status":"ai_checked","confidence":0.78,"basis":"агентский аудит средней сложности","notes":"Карточка подкреплена опубликованными неофициальными, справочными, журнальными, вики-, форумными источниками или страницами задач.","audit_source":"agent-imo-us-classical.json"},"statements":{"original":[{"id":"stmt-round-halving","title":"Лемма","status":"ai_checked","text":"Пусть в функциональном ориентированном графе за один раунд каждая вершина обновляется ровно один раз в произвольном порядке: если в момент обновления \\(a\\to b\\to c\\), то стрелка \\(a\\to b\\) заменяется на \\(a\\to c\\). Тогда выполнены два утверждения. Если в начале раунда единственный направленный цикл имеет длину \\(K>1\\), то к концу раунда его длина не превосходит \\(\\lfloor K/2\\rfloor\\). Если же в начале раунда есть петля \\(z\\to z\\) и вершина \\(a\\) находится на расстоянии \\(L\\) от \\(z\\), то к концу раунда расстояние от \\(a\\) до \\(z\\) не превосходит \\(\\lceil L/2\\rceil\\).","definition_ids":["directed_graph","outdegree","cycle","path"]}]},"solutions":[{"id":"sol-charging-proof","title":"Доказательство зарядкой выпавших вершин","status":"ai_checked","definition_ids":["directed_graph","cycle","path"],"standard_idea_ids":["extremal_choice"],"tags":[],"has_text":true,"text_preview":"Рассмотрим сначала цикл длины \\(K>1\\) в начале раунда. Если вершина \\(a\\) обновляется, пока она еще лежит на текущем цикле, и на цикле в этот момент есть участок \\(a\\to b\\to c\\), то после замены стрелки на \\(a\\to c\\) вершина \\(b\\) выпадает из цикла. Значит, каждое такое полезное обновление уменьшает длину цикла на 1. Вершина, которая была на исходном цикле, но к своему обновлению уже выпала из него, могла выпасть только из-за более раннего полезного обновления своей текущей предшествующей вершины на цикле. Одно полезное обновление выбрасывает не более одной такой вершины. Поэтому среди \\(K\\) исходных вершин цикла число полезно обновившихся не меньше числа выпавших до обновления, то есть полезно обновившихся не меньше \\(\\lceil K/2\\rceil\\). Длина цикла к концу раунда не превосходит \\(K-\\lceil K/2\\rceil=\\lfloor K/2\\rfloor\\). Для пути к петле \\(z\\to z\\) рассуждение такое же. Пусть в начале…"}],"relations":[{"id":"rel-cmo-2025-p1-functional-halving-lemma","neighbor_id":"cmo-2025-p1-voting-functional-graph","direction":"backward","type":"prerequisite","distance":1,"status":"ai_checked"}],"search_text":"functional-digraph-pointer-jumping-round-halving сжатие цикла и путей за один раунд прыжков по указателям invariant extremal_choice goal_bound canadian mathematical olympiad 2025 официальные решения https://w7.cms.math.ca/competitions/cmo/archive/sol2025.pdf misc solution_notes src-cmo-2025-solutions with_solution прочее ? canadian mathematical olympiad 2025 официальные решения stmt-round-halving лемма ai_checked пусть в функциональном ориентированном графе за один раунд каждая вершина обновляется ровно один раз в произвольном порядке: если в момент обновления \\(a\\to b\\to c\\), то стрелка \\(a\\to b\\) заменяется на \\(a\\to c\\). тогда выполнены два утверждения. если в начале раунда единственный направленный цикл имеет длину \\(k>1\\), то к концу раунда его длина не превосходит \\(\\lfloor k/2\\rfloor\\). если же в начале раунда есть петля \\(z\\to z\\) и вершина \\(a\\) находится на расстоянии \\(l\\) от \\(z\\), то к концу раунда расстояние от \\(a\\) до \\(z\\) не превосходит \\(\\lceil l/2\\rceil\\). directed_graph outdegree cycle path idea-charge-deleted-before-update выпавшие до обновления заряжаются полезным обновлениям если вершина исходного цикла или пути выпала до собственного обновления, ее выбросило более раннее обновление соседней предшествующей вершины. одно такое обновление выбрасывает не более одной вершины, значит полезных обновлений не меньше, чем преждевременно выпавших. extremal_choice goal_bound ai_checked sol-charging-proof доказательство зарядкой выпавших вершин ai_checked directed_graph cycle path extremal_choice рассмотрим сначала цикл длины \\(k>1\\) в начале раунда. если вершина \\(a\\) обновляется, пока она еще лежит на текущем цикле, и на цикле в этот момент есть участок \\(a\\to b\\to c\\), то после замены стрелки на \\(a\\to c\\) вершина \\(b\\) выпадает из цикла. значит, каждое такое полезное обновление уменьшает длину цикла на 1. вершина, которая была на исходном цикле, но к своему обновлению уже выпала из него, могла выпасть только из-за более раннего полезного обновления своей текущей предшествующей вершины на цикле. одно полезное обновление выбрасывает не более одной такой вершины. поэтому среди \\(k\\) исходных вершин цикла число полезно обновившихся не меньше числа выпавших до обновления, то есть полезно обновившихся не меньше \\(\\lceil k/2\\rceil\\). длина цикла к концу раунда не превосходит \\(k-\\lceil k/2\\rceil=\\lfloor k/2\\rfloor\\). для пути к петле \\(z\\to z\\) рассуждение такое же. пусть в начале… functional-digraph-pointer-jumping-round-halving szhatie tsikla i putey za odin raund pryzhkov po ukazatelyam invariant extremal_choice goal_bound canadian mathematical olympiad 2025 ofitsialnye resheniya https://w7.cms.math.ca/competitions/cmo/archive/sol2025.pdf misc solution_notes src-cmo-2025-solutions with_solution prochee ? canadian mathematical olympiad 2025 ofitsialnye resheniya stmt-round-halving lemma ai_checked pust v funktsionalnom orientirovannom grafe za odin raund kazhdaya vershina obnovlyaetsya rovno odin raz v proizvolnom poryadke: esli v moment obnovleniya \\(a\\to b\\to c\\), to strelka \\(a\\to b\\) zamenyaetsya na \\(a\\to c\\). togda vypolneny dva utverzhdeniya. esli v nachale raunda edinstvennyy napravlennyy tsikl imeet dlinu \\(k>1\\), to k kontsu raunda ego dlina ne prevoshodit \\(\\lfloor k/2\\rfloor\\). esli zhe v nachale raunda est petlya \\(z\\to z\\) i vershina \\(a\\) nahoditsya na rasstoyanii \\(l\\) ot \\(z\\), to k kontsu raunda rasstoyanie ot \\(a\\) do \\(z\\) ne prevoshodit \\(\\lceil l/2\\rceil\\). directed_graph outdegree cycle path idea-charge-deleted-before-update vypavshie do obnovleniya zaryazhayutsya poleznym obnovleniyam esli vershina ishodnogo tsikla ili puti vypala do sobstvennogo obnovleniya, ee vybrosilo bolee rannee obnovlenie sosedney predshestvuyuschey vershiny. odno takoe obnovlenie vybrasyvaet ne bolee odnoy vershiny, znachit poleznyh obnovleniy ne menshe, chem prezhdevremenno vypavshih. extremal_choice goal_bound ai_checked sol-charging-proof dokazatelstvo zaryadkoy vypavshih vershin ai_checked directed_graph cycle path extremal_choice rassmotrim snachala tsikl dliny \\(k>1\\) v nachale raunda. esli vershina \\(a\\) obnovlyaetsya, poka ona esche lezhit na tekuschem tsikle, i na tsikle v etot moment est uchastok \\(a\\to b\\to c\\), to posle zameny strelki na \\(a\\to c\\) vershina \\(b\\) vypadaet iz tsikla. znachit, kazhdoe takoe poleznoe obnovlenie umenshaet dlinu tsikla na 1. vershina, kotoraya byla na ishodnom tsikle, no k svoemu obnovleniyu uzhe vypala iz nego, mogla vypast tolko iz-za bolee rannego poleznogo obnovleniya svoey tekuschey predshestvuyuschey vershiny na tsikle. odno poleznoe obnovlenie vybrasyvaet ne bolee odnoy takoy vershiny. poetomu sredi \\(k\\) ishodnyh vershin tsikla chislo polezno obnovivshihsya ne menshe chisla vypavshih do obnovleniya, to est polezno obnovivshihsya ne menshe \\(\\lceil k/2\\rceil\\). dlina tsikla k kontsu raunda ne prevoshodit \\(k-\\lceil k/2\\rceil=\\lfloor k/2\\rfloor\\). dlya puti k petle \\(z\\to z\\) rassuzhdenie takoe zhe. pust v nachale…","source_keys":["misc","cmo"]}
{"id":"line-arrangement-side-count-levels","title":"Счётчик сторон в расположении прямых принимает все уровни","path":"data\\problems\\classical\\line-arrangement-side-count-levels.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/classical/line-arrangement-side-count-levels.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#line-arrangement-side-count-levels","source_key":"misc","source_label":"Прочее","source_titles":["Canadian Mathematical Olympiad 2022 официальные решения"],"year":"","type":"lemma","authors":[],"tags":["planar_graphs","coloring","classical_theorem","goal_existence"],"agent_topics":[],"difficulty":{"main":"exercise","local_score":3,"comment":"Короткий переиспользуемый инвариант для расположений прямых; единственный тонкий момент — выбрать прямую прохода выше всех точек пересечения.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"unofficial_published","label":"опубликованное неофициальное","status":"ai_checked","confidence":0.78,"basis":"агентский аудит средней сложности","notes":"Карточка подкреплена опубликованными неофициальными, справочными, журнальными, вики-, форумными источниками или страницами задач.","audit_source":"agent-imo-us-classical.json"},"statements":{"original":[{"id":"stmt-side-count-levels","title":"Лемма о счётчике сторон","status":"ai_checked","text":"Пусть на плоскости дано \\(n\\) различных прямых, никакие три из которых не проходят через одну точку. После поворота можно считать, что ни одна прямая не горизонтальна; ориентируем каждую прямую в направлении возрастания координаты \\(y\\). Для области \\(R\\) обозначим через \\(k(R)\\) число прямых, справа от которых лежит \\(R\\). Тогда: (1) если две области имеют общую сторону, то их значения \\(k\\) отличаются ровно на \\(1\\); (2) для каждого \\(k=0,1,\\ldots,n\\) существует область \\(R\\) с \\(k(R)=k\\).","definition_ids":[]}],"graph_theory":[{"id":"stmt-region-graph-level-function","title":"Счётчик сторон в расположении прямых принимает все уровни","status":"ai_checked","text":"Для графа смежности областей расположения \\(n\\) различных негоризонтальных ориентированных прямых, никакие три из которых не проходят через одну точку, функция \\(k\\), сопоставляющая каждой области число прямых, справа от которых лежит эта область, меняется ровно на \\(1\\) при переходе по каждому ребру графа и принимает все значения \\(0,1,\\ldots,n\\).","definition_ids":["planar_graph"]}]},"solutions":[{"id":"sol-horizontal-sweep","title":"Доказательство горизонтальным проходом","status":"ai_checked","definition_ids":["planar_graph"],"standard_idea_ids":[],"tags":[],"has_text":true,"text_preview":"Сначала слегка повернём всю конфигурацию так, чтобы ни одна из прямых не была горизонтальной. Это не меняет комбинаторику областей и их соседств. Ориентируем каждую прямую вверх, то есть в сторону возрастания координаты \\(y\\). Пусть две области имеют общую сторону. Эта сторона лежит на некоторой прямой \\(\\ell\\). При переходе через неё точка меняет сторону только относительно \\(\\ell\\); относительно любой другой прямой обе области лежат с одной и той же стороны, иначе общая сторона была бы разрезана пересечением с этой другой прямой. Поэтому число прямых, справа от которых лежит область, меняется ровно на \\(1\\). Осталось доказать, что встречаются все уровни. Возьмём горизонтальную прямую \\(y=w\\), лежащую выше всех точек пересечения данных прямых. Каждая из данных прямых пересекает эту горизонталь, и эти точки пересечения различны: если две непараллельные прямые пересекали бы \\(y=w\\) в одн…"}],"relations":[{"id":"rel-line-arrangement-levels-smmc-2023-c2-dual-coloring","neighbor_id":"simon-marais-2023-c2-line-arrangement-region-coloring","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-cmo-2022-p4-side-count-lemma","neighbor_id":"cmo-2022-p4-region-adjacency-coloring","direction":"backward","type":"prerequisite","distance":1,"status":"ai_checked"}],"search_text":"line-arrangement-side-count-levels счётчик сторон в расположении прямых принимает все уровни planar_graphs coloring classical_theorem goal_existence canadian mathematical olympiad 2022 официальные решения https://w7.cms.math.ca/competitions/cmo/archive/sol2022.pdf misc solution_notes src-cmo-2022-solutions with_solution прочее ? canadian mathematical olympiad 2022 официальные решения stmt-side-count-levels лемма о счётчике сторон ai_checked пусть на плоскости дано \\(n\\) различных прямых, никакие три из которых не проходят через одну точку. после поворота можно считать, что ни одна прямая не горизонтальна; ориентируем каждую прямую в направлении возрастания координаты \\(y\\). для области \\(r\\) обозначим через \\(k(r)\\) число прямых, справа от которых лежит \\(r\\). тогда: (1) если две области имеют общую сторону, то их значения \\(k\\) отличаются ровно на \\(1\\); (2) для каждого \\(k=0,1,\\ldots,n\\) существует область \\(r\\) с \\(k(r)=k\\). stmt-region-graph-level-function счётчик сторон в расположении прямых принимает все уровни ai_checked для графа смежности областей расположения \\(n\\) различных негоризонтальных ориентированных прямых, никакие три из которых не проходят через одну точку, функция \\(k\\), сопоставляющая каждой области число прямых, справа от которых лежит эта область, меняется ровно на \\(1\\) при переходе по каждому ребру графа и принимает все значения \\(0,1,\\ldots,n\\). planar_graph idea-horizontal-sweep-above-intersections горизонтальный проход выше всех пересечений на горизонтали выше всех точек пересечения данные прямые встречаются по одной. при движении слева направо точка каждый раз переходит с левой стороны очередной ориентированной прямой на правую, поэтому счётчик проходит значения \\(0,1,\\ldots,n\\). ai_checked idea-crossing-one-boundary-changes-one-side переход через сторону меняет один вклад общая сторона двух соседних областей лежит на одной прямой; при переходе через неё меняется только сторона относительно этой прямой, а все остальные вклады в \\(k\\) сохраняются. planar_graphs ai_checked sol-horizontal-sweep доказательство горизонтальным проходом ai_checked planar_graph сначала слегка повернём всю конфигурацию так, чтобы ни одна из прямых не была горизонтальной. это не меняет комбинаторику областей и их соседств. ориентируем каждую прямую вверх, то есть в сторону возрастания координаты \\(y\\). пусть две области имеют общую сторону. эта сторона лежит на некоторой прямой \\(\\ell\\). при переходе через неё точка меняет сторону только относительно \\(\\ell\\); относительно любой другой прямой обе области лежат с одной и той же стороны, иначе общая сторона была бы разрезана пересечением с этой другой прямой. поэтому число прямых, справа от которых лежит область, меняется ровно на \\(1\\). осталось доказать, что встречаются все уровни. возьмём горизонтальную прямую \\(y=w\\), лежащую выше всех точек пересечения данных прямых. каждая из данных прямых пересекает эту горизонталь, и эти точки пересечения различны: если две непараллельные прямые пересекали бы \\(y=w\\) в одн… line-arrangement-side-count-levels schetchik storon v raspolozhenii pryamyh prinimaet vse urovni planar_graphs coloring classical_theorem goal_existence canadian mathematical olympiad 2022 ofitsialnye resheniya https://w7.cms.math.ca/competitions/cmo/archive/sol2022.pdf misc solution_notes src-cmo-2022-solutions with_solution prochee ? canadian mathematical olympiad 2022 ofitsialnye resheniya stmt-side-count-levels lemma o schetchike storon ai_checked pust na ploskosti dano \\(n\\) razlichnyh pryamyh, nikakie tri iz kotoryh ne prohodyat cherez odnu tochku. posle povorota mozhno schitat, chto ni odna pryamaya ne gorizontalna; orientiruem kazhduyu pryamuyu v napravlenii vozrastaniya koordinaty \\(y\\). dlya oblasti \\(r\\) oboznachim cherez \\(k(r)\\) chislo pryamyh, sprava ot kotoryh lezhit \\(r\\). togda: (1) esli dve oblasti imeyut obschuyu storonu, to ih znacheniya \\(k\\) otlichayutsya rovno na \\(1\\); (2) dlya kazhdogo \\(k=0,1,\\ldots,n\\) suschestvuet oblast \\(r\\) s \\(k(r)=k\\). stmt-region-graph-level-function schetchik storon v raspolozhenii pryamyh prinimaet vse urovni ai_checked dlya grafa smezhnosti oblastey raspolozheniya \\(n\\) razlichnyh negorizontalnyh orientirovannyh pryamyh, nikakie tri iz kotoryh ne prohodyat cherez odnu tochku, funktsiya \\(k\\), sopostavlyayuschaya kazhdoy oblasti chislo pryamyh, sprava ot kotoryh lezhit eta oblast, menyaetsya rovno na \\(1\\) pri perehode po kazhdomu rebru grafa i prinimaet vse znacheniya \\(0,1,\\ldots,n\\). planar_graph idea-horizontal-sweep-above-intersections gorizontalnyy prohod vyshe vseh peresecheniy na gorizontali vyshe vseh tochek peresecheniya dannye pryamye vstrechayutsya po odnoy. pri dvizhenii sleva napravo tochka kazhdyy raz perehodit s levoy storony ocherednoy orientirovannoy pryamoy na pravuyu, poetomu schetchik prohodit znacheniya \\(0,1,\\ldots,n\\). ai_checked idea-crossing-one-boundary-changes-one-side perehod cherez storonu menyaet odin vklad obschaya storona dvuh sosednih oblastey lezhit na odnoy pryamoy; pri perehode cherez nee menyaetsya tolko storona otnositelno etoy pryamoy, a vse ostalnye vklady v \\(k\\) sohranyayutsya. planar_graphs ai_checked sol-horizontal-sweep dokazatelstvo gorizontalnym prohodom ai_checked planar_graph snachala slegka povernem vsyu konfiguratsiyu tak, chtoby ni odna iz pryamyh ne byla gorizontalnoy. eto ne menyaet kombinatoriku oblastey i ih sosedstv. orientiruem kazhduyu pryamuyu vverh, to est v storonu vozrastaniya koordinaty \\(y\\). pust dve oblasti imeyut obschuyu storonu. eta storona lezhit na nekotoroy pryamoy \\(\\ell\\). pri perehode cherez nee tochka menyaet storonu tolko otnositelno \\(\\ell\\); otnositelno lyuboy drugoy pryamoy obe oblasti lezhat s odnoy i toy zhe storony, inache obschaya storona byla by razrezana peresecheniem s etoy drugoy pryamoy. poetomu chislo pryamyh, sprava ot kotoryh lezhit oblast, menyaetsya rovno na \\(1\\). ostalos dokazat, chto vstrechayutsya vse urovni. vozmem gorizontalnuyu pryamuyu \\(y=w\\), lezhaschuyu vyshe vseh tochek peresecheniya dannyh pryamyh. kazhdaya iz dannyh pryamyh peresekaet etu gorizontal, i eti tochki peresecheniya razlichny: esli dve neparallelnye pryamye peresekali by \\(y=w\\) v odn…","source_keys":["misc","cmo"]}
{"id":"minimal-half-subset-exchange-lemma","title":"Лемма об обмене для подмножества с минимальным числом внутренних ребер","path":"data\\problems\\classical\\minimal-half-subset-exchange-lemma.yaml","raw_github_url":"https://raw.githubusercontent.com/didin-maxim/knowledge_graph_of_graphs/main/data/problems/classical/minimal-half-subset-exchange-lemma.yaml","viewer_url":"https://didin-maxim.github.io/knowledge_graph_of_graphs/#minimal-half-subset-exchange-lemma","source_key":"misc","source_label":"Прочее","source_titles":["Canadian Mathematical Olympiad 2020 официальные решения"],"year":"","type":"lemma","authors":["Canadian Mathematical Society"],"tags":["extremal_choice","goal_bound"],"agent_topics":[],"difficulty":{"main":"exercise","local_score":2,"comment":"Короткая лемма об обмене, выделенная из официального доказательства нижней оценки в CMO 2020 P5.","status":"ai_checked"},"review_status":"ai_checked","public_ready":true,"solution_state":"with_solution","solution_classification":{"type":"unofficial_published","label":"опубликованное неофициальное","status":"ai_checked","confidence":0.78,"basis":"агентский аудит средней сложности","notes":"Карточка подкреплена опубликованными неофициальными, справочными, журнальными, вики-, форумными источниками или страницами задач.","audit_source":"agent-imo-us-classical.json"},"statements":{"original":[{"id":"stmt-original","title":"","status":"ai_checked","text":"Пусть \\(G\\) — конечный простой граф, а \\(S\\subseteq V(G)\\) — подмножество заданного размера, для которого число ребер внутри \\(S\\) минимально среди всех подмножеств такого же размера. Для вершины \\(v\\) обозначим через \\(d_S(v)\\) число ее соседей в \\(S\\). Тогда для любых \\(r\\in S\\) и \\(b\\notin S\\) выполнено \\[ d_S(b)-\\mathbf 1_{br}\\ge d_S(r), \\] где \\(\\mathbf 1_{br}=1\\), если \\(b\\) и \\(r\\) смежны, и \\(0\\) иначе. В частности, \\(d_S(b)\\ge d_S(r)\\), а если \\(br\\) — ребро, то \\(d_S(b)>d_S(r)\\).","definition_ids":["simple_graph","degree"]}]},"solutions":[{"id":"sol-one-swap","title":"Доказательство одним обменом","status":"ai_checked","definition_ids":["simple_graph","degree"],"standard_idea_ids":["extremal_choice"],"tags":[],"has_text":true,"text_preview":"Рассмотрим множество \\[ S'=(S\\setminus\\{r\\})\\cup\\{b\\}. \\] Оно имеет тот же размер, что и \\(S\\), поэтому по минимальности \\(S\\) число внутренних ребер в \\(S'\\) не меньше, чем в \\(S\\). При переходе от \\(S\\) к \\(S'\\) исчезают ровно \\(d_S(r)\\) внутренних ребер: это ребра от \\(r\\) к другим вершинам \\(S\\). Появляются ровно \\(d_S(b)-\\mathbf 1_{br}\\) внутренних ребер: это ребра от \\(b\\) к вершинам из \\(S\\setminus\\{r\\}\\). Следовательно, прирост числа внутренних ребер равен \\[ (d_S(b)-\\mathbf 1_{br})-d_S(r) \\] и не может быть отрицательным. Отсюда \\[ d_S(b)-\\mathbf 1_{br}\\ge d_S(r). \\] Если \\(br\\) не является ребром, это сразу дает \\(d_S(b)\\ge d_S(r)\\). Если \\(br\\) является ребром, то \\(d_S(b)-1\\ge d_S(r)\\), то есть \\(d_S(b)>d_S(r)\\)."}],"relations":[{"id":"rel-cmo-2020-p5-minimal-half-exchange","neighbor_id":"cmo-2020-p5-friendship-induced-subgraphs","direction":"backward","type":"prerequisite","distance":1,"status":"ai_checked"},{"id":"rel-vjimc-2005-weighted-cut-one-swap-exchange","neighbor_id":"vjimc-2005-cat2-p2-weighted-cut-half","direction":"backward","type":"same_motif","distance":2,"status":"ai_checked"},{"id":"rel-minimal-half-subset-exchange-maximum-spanning-tree-cycle-shortest-edge","neighbor_id":"maximum-spanning-tree-cycle-shortest-edge-lemma","direction":"forward","type":"same_motif","distance":2,"status":"ai_checked"}],"search_text":"minimal-half-subset-exchange-lemma лемма об обмене для подмножества с минимальным числом внутренних ребер extremal_choice goal_bound canadian mathematical olympiad 2020 официальные решения canadian mathematical society canadianmathematicalsociety https://w7.cms.math.ca/competitions/cmo/archive/sol2020.pdf misc solution_notes src-cmo-2020-solutions with_solution прочее canadian mathematical society canadian mathematical olympiad 2020 официальные решения stmt-original ai_checked пусть \\(g\\) — конечный простой граф, а \\(s\\subseteq v(g)\\) — подмножество заданного размера, для которого число ребер внутри \\(s\\) минимально среди всех подмножеств такого же размера. для вершины \\(v\\) обозначим через \\(d_s(v)\\) число ее соседей в \\(s\\). тогда для любых \\(r\\in s\\) и \\(b\\notin s\\) выполнено \\[ d_s(b)-\\mathbf 1_{br}\\ge d_s(r), \\] где \\(\\mathbf 1_{br}=1\\), если \\(b\\) и \\(r\\) смежны, и \\(0\\) иначе. в частности, \\(d_s(b)\\ge d_s(r)\\), а если \\(br\\) — ребро, то \\(d_s(b)>d_s(r)\\). simple_graph degree idea-swap-cannot-improve обмен не должен уменьшать экстремальную величину если заменить \\(r\\in s\\) на \\(b\\notin s\\), то старые внутренние ребра, инцидентные \\(r\\), исчезают, а ребра от \\(b\\) к старым вершинам \\(s\\setminus\\{r\\}\\) становятся внутренними. минимальность \\(s\\) запрещает уменьшение. extremal_choice ai_checked sol-one-swap доказательство одним обменом ai_checked simple_graph degree extremal_choice рассмотрим множество \\[ s'=(s\\setminus\\{r\\})\\cup\\{b\\}. \\] оно имеет тот же размер, что и \\(s\\), поэтому по минимальности \\(s\\) число внутренних ребер в \\(s'\\) не меньше, чем в \\(s\\). при переходе от \\(s\\) к \\(s'\\) исчезают ровно \\(d_s(r)\\) внутренних ребер: это ребра от \\(r\\) к другим вершинам \\(s\\). появляются ровно \\(d_s(b)-\\mathbf 1_{br}\\) внутренних ребер: это ребра от \\(b\\) к вершинам из \\(s\\setminus\\{r\\}\\). следовательно, прирост числа внутренних ребер равен \\[ (d_s(b)-\\mathbf 1_{br})-d_s(r) \\] и не может быть отрицательным. отсюда \\[ d_s(b)-\\mathbf 1_{br}\\ge d_s(r). \\] если \\(br\\) не является ребром, это сразу дает \\(d_s(b)\\ge d_s(r)\\). если \\(br\\) является ребром, то \\(d_s(b)-1\\ge d_s(r)\\), то есть \\(d_s(b)>d_s(r)\\). minimal-half-subset-exchange-lemma lemma ob obmene dlya podmnozhestva s minimalnym chislom vnutrennih reber extremal_choice goal_bound canadian mathematical olympiad 2020 ofitsialnye resheniya canadian mathematical society canadianmathematicalsociety https://w7.cms.math.ca/competitions/cmo/archive/sol2020.pdf misc solution_notes src-cmo-2020-solutions with_solution prochee canadian mathematical society canadian mathematical olympiad 2020 ofitsialnye resheniya stmt-original ai_checked pust \\(g\\) — konechnyy prostoy graf, a \\(s\\subseteq v(g)\\) — podmnozhestvo zadannogo razmera, dlya kotorogo chislo reber vnutri \\(s\\) minimalno sredi vseh podmnozhestv takogo zhe razmera. dlya vershiny \\(v\\) oboznachim cherez \\(d_s(v)\\) chislo ee sosedey v \\(s\\). togda dlya lyubyh \\(r\\in s\\) i \\(b\\notin s\\) vypolneno \\[ d_s(b)-\\mathbf 1_{br}\\ge d_s(r), \\] gde \\(\\mathbf 1_{br}=1\\), esli \\(b\\) i \\(r\\) smezhny, i \\(0\\) inache. v chastnosti, \\(d_s(b)\\ge d_s(r)\\), a esli \\(br\\) — rebro, to \\(d_s(b)>d_s(r)\\). simple_graph degree idea-swap-cannot-improve obmen ne dolzhen umenshat ekstremalnuyu velichinu esli zamenit \\(r\\in s\\) na \\(b\\notin s\\), to starye vnutrennie rebra, intsidentnye \\(r\\), ischezayut, a rebra ot \\(b\\) k starym vershinam \\(s\\setminus\\{r\\}\\) stanovyatsya vnutrennimi. minimalnost \\(s\\) zapreschaet umenshenie. extremal_choice ai_checked sol-one-swap dokazatelstvo odnim obmenom ai_checked simple_graph degree extremal_choice rassmotrim mnozhestvo \\[ s'=(s\\setminus\\{r\\})\\cup\\{b\\}. \\] ono imeet tot zhe razmer, chto i \\(s\\), poetomu po minimalnosti \\(s\\) chislo vnutrennih reber v \\(s'\\) ne menshe, chem v \\(s\\). pri perehode ot \\(s\\) k \\(s'\\) ischezayut rovno \\(d_s(r)\\) vnutrennih reber: eto rebra ot \\(r\\) k drugim vershinam \\(s\\). poyavlyayutsya rovno \\(d_s(b)-\\mathbf 1_{br}\\) vnutrennih reber: eto rebra ot \\(b\\) k vershinam iz \\(s\\setminus\\{r\\}\\). sledovatelno, prirost chisla vnutrennih reber raven \\[ (d_s(b)-\\mathbf 1_{br})-d_s(r) \\] i ne mozhet byt otritsatelnym. otsyuda \\[ d_s(b)-\\mathbf 1_{br}\\ge d_s(r). \\] esli \\(br\\) ne yavlyaetsya rebrom, eto srazu daet \\(d_s(b)\\ge d_s(r)\\). esli \\(br\\) yavlyaetsya rebrom, to \\(d_s(b)-1\\ge d_s(r)\\), to est \\(d_s(b)>d_s(r)\\).","source_keys":["misc","cmo"]}
