{"data":{"site":{"siteMetadata":{"title":"HOME | blackpudding","subtitle":"고생했어. 오늘도.","copyright":"© All rights reserved.","author":{"name":"William JO","github":"blackpudding96"},"disqusShortname":"blackpudding","url":"https://blackpudding.netlify.com"}},"markdownRemark":{"id":"92623d2b-a2fd-5146-97f4-3577b260de8d","html":"<h1>1057번 : 토너먼트</h1>\n<p>👉 <a href=\"https://www.acmicpc.net/problem/1057\">문제 바로가기</a></p>\n<h2>배경 지식</h2>\n<ul>\n<li><code class=\"language-text\">약간의 수학적 사고력</code></li>\n</ul>\n<h2>푼 방법</h2>\n<p><strong>임한수가 김지민보다 배정받은 번호 순서가 늦다고 가정하고 문제에 접근</strong>했다.(입력받은 임한수의 번호가 김지민보다 작을 경우 swap)</p>\n<p>round를 올리며 김지민과 임한수의 번호를 다시 배정했을 때, <strong>임한수가 짝수 번호를 배정</strong>받고 <strong>임한수 번호 - 김지민 번호 == 1</strong> 이면 그 round에서 둘이 대결을 펼친다. <strong>그 round가 나오면 출력하고 안 나올 경우 -1을 출력</strong>한다.</p>\n<p>하지만 알다시피, <strong>안 만나는 경우는 없다.</strong></p>\n<h2>내 정답 코드 (C++)</h2>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\"><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">&lt;iostream></span></span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">define</span> SWAP(a, b) {a^=b^=a^=b;}</span>\n\n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\tstd<span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span>ios<span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span><span class=\"token function\">sync_with_stdio</span><span class=\"token punctuation\">(</span>false<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\tstd<span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span>cin<span class=\"token punctuation\">.</span><span class=\"token function\">tie</span><span class=\"token punctuation\">(</span><span class=\"token constant\">NULL</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> \n\tstd<span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span>cout<span class=\"token punctuation\">.</span><span class=\"token function\">tie</span><span class=\"token punctuation\">(</span><span class=\"token constant\">NULL</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\t\n\t<span class=\"token keyword\">int</span> n<span class=\"token punctuation\">,</span> kim<span class=\"token punctuation\">,</span> lim<span class=\"token punctuation\">,</span> round <span class=\"token operator\">=</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n\t\n\tstd<span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span>cin <span class=\"token operator\">>></span> n <span class=\"token operator\">>></span> kim <span class=\"token operator\">>></span> lim<span class=\"token punctuation\">;</span>\n\t\n\t<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>lim <span class=\"token operator\">&lt;</span> kim<span class=\"token punctuation\">)</span>\n\t\t<span class=\"token function\">SWAP</span><span class=\"token punctuation\">(</span>lim<span class=\"token punctuation\">,</span> kim<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\t\n\t<span class=\"token keyword\">while</span> <span class=\"token punctuation\">(</span>n <span class=\"token operator\">!=</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\t\t<span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span><span class=\"token punctuation\">(</span>lim <span class=\"token operator\">%</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">&amp;&amp;</span> <span class=\"token punctuation\">(</span>lim <span class=\"token operator\">-</span> kim<span class=\"token punctuation\">)</span> <span class=\"token operator\">==</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n\t\t\tstd<span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span>cout <span class=\"token operator\">&lt;&lt;</span> round <span class=\"token operator\">&lt;&lt;</span> std<span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span>endl<span class=\"token punctuation\">;</span>\n\t\t\t<span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\t\t<span class=\"token punctuation\">}</span>\n\t\t<span class=\"token keyword\">else</span>\n\t\t\t<span class=\"token operator\">++</span>round<span class=\"token punctuation\">;</span>\n\t\t\n\t\tlim <span class=\"token operator\">=</span> lim <span class=\"token operator\">%</span> <span class=\"token number\">2</span> <span class=\"token operator\">?</span> lim <span class=\"token operator\">/</span> <span class=\"token number\">2</span> <span class=\"token operator\">+</span> <span class=\"token number\">1</span> <span class=\"token punctuation\">:</span> lim <span class=\"token operator\">/</span> <span class=\"token number\">2</span><span class=\"token punctuation\">;</span>\n\t\tkim <span class=\"token operator\">=</span> kim <span class=\"token operator\">%</span> <span class=\"token number\">2</span> <span class=\"token operator\">?</span> kim <span class=\"token operator\">/</span> <span class=\"token number\">2</span> <span class=\"token operator\">+</span> <span class=\"token number\">1</span> <span class=\"token punctuation\">:</span> kim <span class=\"token operator\">/</span> <span class=\"token number\">2</span><span class=\"token punctuation\">;</span>\n\t\tn <span class=\"token operator\">=</span> n <span class=\"token operator\">%</span> <span class=\"token number\">2</span> <span class=\"token operator\">?</span> n <span class=\"token operator\">/</span> <span class=\"token number\">2</span> <span class=\"token operator\">+</span> <span class=\"token number\">1</span> <span class=\"token punctuation\">:</span> n <span class=\"token operator\">/</span> <span class=\"token number\">2</span><span class=\"token punctuation\">;</span>\n\t<span class=\"token punctuation\">}</span>\n\t\n\tstd<span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span>cout <span class=\"token operator\">&lt;&lt;</span> <span class=\"token string\">\"-1\"</span> <span class=\"token operator\">&lt;&lt;</span> std<span class=\"token punctuation\">:</span><span class=\"token punctuation\">:</span>endl<span class=\"token punctuation\">;</span>\n\t\n\t<span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>","fields":{"tagSlugs":["/tags/백준/","/tags/algorithm/"],"slug":"/posts/baekjoons/1057/"},"frontmatter":{"title":"[백준] 1057 : 토너먼트","tags":["백준","Algorithm"],"date":"2020-05-07","description":"백준 1057번 문제 : 토너먼트"}}},"pageContext":{"slug":"/posts/baekjoons/1057/"}}