<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>djtaka&#45784;&#51032; &#45432;&#53944;</title>
    <link>http://djtaka.springnote.com/pages</link>
    <description>djtaka&#45784;&#51032; &#45432;&#53944;</description>
    <language>ko-KR</language>
    <item>
      <title>3.2.6 Sweet Butter</title>
      <description>&lt;p&gt;Test 1: TEST OK [0.022 secs, 5352 KB]&lt;/p&gt;
&lt;p&gt;Test 2: TEST OK [0.022 secs, 5356 KB]&lt;/p&gt;
&lt;p&gt;Test 3: TEST OK [0.000 secs, 5356 KB]&lt;/p&gt;
&lt;p&gt;Test 4: TEST OK [0.022 secs, 5356 KB]&lt;/p&gt;
&lt;p&gt;Test 5: TEST OK [0.022 secs, 5356 KB]&lt;/p&gt;
&lt;p&gt;Test 6: TEST OK [0.065 secs, 5352 KB]&lt;/p&gt;
&lt;p&gt;Test 7: TEST OK [0.475 secs, 5356 KB]&lt;/p&gt;
&lt;p&gt;&amp;gt; Run 8: Execution error: Your program (`butter') used more than the&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;allotted runtime of 1 seconds (it ended or was stopped at 1.566&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;seconds) when presented with test case 8. It used 5356 KB of&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;memory.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51068;&#45800; &#47928;&#51228; &#51088;&#52404;&#45716; &#48324;&#47196; &#50612;&#47140;&#50872; &#44163;&#51060; &#50630;&#45716; &#44036;&#45800;&#54620; &#44536;&#47000;&#54532; &#47928;&#51228;. &#47784;&#46304; &#45432;&#46300;&#44036;&#51032; &#52572;&#45800; &#44144;&#47532;&#47484; &#44396;&#54624; &#54596;&#50836;&#44032; &#51080;&#50612;&#49436; Floyd-Warshall&#51004;&#47196;&lt;/p&gt;
&lt;p&gt;&#54400;&#47732; &#50628;&#52397;&amp;nbsp;&#44036;&#45800;&#54616;&#44172; &#54400; &#49688; &#51080;&#44592;&#45716; &#54620;&#45936; &#45432;&#46300;&#44032;&amp;nbsp;800&#44060;&#44620;&#51648; &#44032;&#45733;&#54616;&#45796;&#48372;&#45768; &#51312;&#44552; &#44145;&#51221;&#51012; &#54616;&#44592;&#45716; &#54664;&#45716;&#45936;&amp;nbsp;&lt;/p&gt;
</description>
      <pubDate>Thu, 04 Sep 2008 18:35:11 +0900</pubDate>
      <link>http://djtaka.springnote.com/pages/1714656</link>
      <guid>http://djtaka.springnote.com/pages/1714656</guid>
    </item>
    <item>
      <title>3.2.5 Magic Squares #2</title>
      <description>&lt;p&gt;Test 1: TEST OK [0.000 secs, 3160 KB]&lt;br /&gt;
Test 2: TEST OK [0.011 secs, 3160 KB]&lt;br /&gt;
Test 3: TEST OK [0.011 secs, 3160 KB]&lt;br /&gt;
Test 4: TEST OK [0.000 secs, 3160 KB]&lt;br /&gt;
Test 5: TEST OK [0.011 secs, 3164 KB]&lt;br /&gt;
Test 6: TEST OK [0.032 secs, 3164 KB]&lt;br /&gt;
Test 7: TEST OK [0.022 secs, 3164 KB]&lt;br /&gt;
Test 8: TEST OK [0.043 secs, 3160 KB]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47956;&#44032; &#44600;&#50612;&#51656; &#44163; &#44057;&#50500;&#49436; &#44544;&#51012; 2&#44060;&#47196; &#45208;&#45620;&#45716;&#45936; &#49373;&#44033;&#48372;&#45796;&amp;nbsp;&#49789;&#44172; &#45149;&#45228;&#51020; -_-&lt;/p&gt;
&lt;p&gt;BFS&#54616;&#47732;&#49436; &#53328;&#50640; Push&#54616;&#45716; &#53076;&#46300;&#51032; &#50948;&#52824;&#47484; &#51096;&#47803; &#45347;&#50612;&#49436; &#51473;&#48373;&#46104;&#45716; &#53580;&#51060;&#48660;&#51012; &#45796;&#49884; &#54217;&#44032;&#54616;&#45716;&lt;/p&gt;
&lt;p&gt;&#47928;&#51228;&#44032; &#51080;&#50612;&#49436;&amp;nbsp;1&#48264;&amp;nbsp;&#49892;&#54056;(&#50500;&#47560; &#49884;&#44036;&#51060; &#50724;&#47000;&#51648;&#45208;&#47732; &#45813;&#51060; &#52286;&#50500;&#51648;&#44596; &#54624;&#53584;&#45936; &#53328;&#50640; &#45936;&#51060;&#53552;&#44032; &#49939;&#50668;&#49436;&lt;/p&gt;
&lt;p&gt;&#47700;&#47784;&#47532; &#51228;&#54620;&#51012; &#45336;&#50612;&#48260;&#47536; &#44163; &#44057;&#51020;)&lt;/p&gt;
&lt;p&gt;&#49324;&#49892; BFS&#44032; &#50628;&#52397; &#44036;&#45800;&#54644;&#49436; &#49884;&#44036;&#51060; &#44152;&#47540;&#44172; &#48324;&#47196; &#50630;&#45716;&#45936; &#51088;&#47308; &#44396;&#51312;&#47484; &#51060;&#47020;&#45796;&#51200;&#47020;&#45796; &#54616;&#47732;&#49436; &#51328; &#50724;&#47000;&#44152;&#47160;&#51020;. &#48152;&#49457;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&amp;nbsp;/*&lt;br /&gt;
ID: djtaka2&lt;br /&gt;
PROG: msquare&lt;br /&gt;
LANG: C++&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;queue&amp;gt;&lt;br /&gt;
#include &amp;lt;stack&amp;gt;&lt;br /&gt;
using namespace std;&lt;/li&gt;
&lt;li&gt;// [0][1][2][3] -&amp;gt; [0][1][2][3][4][5][6][7] &#51004;&#47196; &#52968;&#48260;&#54021;&lt;br /&gt;
// [7][6][5][4]&lt;br /&gt;
int doTable[3][8]&amp;nbsp; = {{7,6,5,4,3,2,1,0},{3,0,1,2,5,6,7,4},{0,6,1,3,4,2,5,7}};&lt;br /&gt;
int undoTable[3][8]&amp;nbsp; = {{7,6,5,4,3,2,1,0},{1,2,3,0,7,4,5,6},{0,2,5,3,4,6,1,7}};&lt;/li&gt;
&lt;li&gt;struct Data&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;Data()&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;int i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;for(i=0;i&amp;lt;8;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;table[i] = i+1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;encodedData = -1;&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;int encode()&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(encodedData != -1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;return encodedData;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;int i,j;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;int result = 0;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;for(i=0;i&amp;lt;7;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;int wrongOrdered=0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;for(j=i+1;j&amp;lt;8;j++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(table[j] &amp;lt; table[i])&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wrongOrdered++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;result = result*(8-i) + wrongOrdered;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;encodedData = result;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;return result;&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;int encodedData;&lt;br /&gt;
&amp;nbsp;int table[8];&lt;br /&gt;
};&lt;br /&gt;
queue&amp;lt;Data&amp;gt; answerList;&lt;/li&gt;
&lt;li&gt;void doAction(Data &amp;amp;source,Data &amp;amp;dest,int type)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;int i;&lt;br /&gt;
&amp;nbsp;for(i=0;i&amp;lt;8;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;dest.table[i] = source.table[doTable[type][i]];&lt;br /&gt;
}&lt;/li&gt;
&lt;li&gt;int visited[40321];&lt;br /&gt;
int steps[40321];&lt;/li&gt;
&lt;li&gt;int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;&amp;nbsp;i,j,k;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;// Variables&lt;br /&gt;
&amp;nbsp;Data basic,target;&lt;br /&gt;
&amp;nbsp;int finish;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Get input&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ifstream fin ("msquare.in");&lt;br /&gt;
&amp;nbsp;ofstream fout ("msquare.out");&lt;br /&gt;
&amp;nbsp;for(i=0;i&amp;lt;8;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fin &amp;gt;&amp;gt; target.table[i];&lt;/li&gt;
&lt;li&gt;&amp;nbsp;for(i=0;i&amp;lt;40321;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;visited[i] = -1;&lt;br /&gt;
&amp;nbsp;finish = target.encode();&lt;br /&gt;
&amp;nbsp;answerList.push(basic);&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Function test&lt;br /&gt;
&amp;nbsp;//cout &amp;lt;&amp;lt; encode(targetTable) &amp;lt;&amp;lt; "\n";&lt;br /&gt;
&amp;nbsp;//cout &amp;lt;&amp;lt; finish &amp;lt;&amp;lt; "\n";&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Processing&lt;br /&gt;
&amp;nbsp;bool finished = false;&lt;br /&gt;
&amp;nbsp;while(!finished)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;// &#44732;&#45236;&#44256;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;Data curData = answerList.front();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;answerList.pop();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;for(i=0;i&amp;lt;3;i++) // Do the A! B! C!&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;Data tempData;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;doAction(curData,tempData,i);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;int cur = tempData.encode();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(visited[cur] == -1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;answerList.push(tempData);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;visited[cur] = curData.encode();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;steps[cur] = i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(cur == finish)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finished = true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Output&lt;br /&gt;
&amp;nbsp;int cursor = finish;&lt;br /&gt;
&amp;nbsp;char moveTable[3] = {'A','B','C'};&lt;br /&gt;
&amp;nbsp;stack&amp;lt;int&amp;gt; s;&lt;br /&gt;
&amp;nbsp;while(cursor)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;s.push(steps[cursor]);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;cursor = visited[cursor];&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;fout &amp;lt;&amp;lt; s.size() &amp;lt;&amp;lt; "\n";;&lt;br /&gt;
&amp;nbsp;while(s.size())&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fout &amp;lt;&amp;lt; moveTable[s.top()];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;s.pop();&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;fout &amp;lt;&amp;lt; "\n";&lt;br /&gt;
&amp;nbsp;return 0;&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
      <pubDate>Wed, 03 Sep 2008 18:26:39 +0900</pubDate>
      <link>http://djtaka.springnote.com/pages/1708490</link>
      <guid>http://djtaka.springnote.com/pages/1708490</guid>
    </item>
    <item>
      <title>3.2.5 Magic Squares #1</title>
      <description>&lt;p&gt;&#51060;&#44148; &#51328; &#48373;&#51105;&#54616;&#44400; -_-..&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;BFS&#44057;&#51008;&#44152;&#47196; &#51068;&#51068;&#55176; &#54644;&#48376;&#45796;.&lt;/li&gt;
&lt;li&gt;&#44536;&#47532;&#46356;? &#46972;&#46304;&#51648; &#54644;&#49436;&amp;nbsp;&#44036;&#45800;&#55176; &#44396;&#54624; &#49688; &#51080;&#45716; &#48169;&#48277;&#51060; &#51080;&#51012;&#44620;?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#54620;&#52280; &#49373;&#44033;&#54644;&#48420;&#45716;&#45936; 2&#48264;&#51008; &#50689; &#50500;&#45772;&#44163; &#44057;&#51020;. 1&#48264;&#51004;&#47196; &#51652;&#47196; &#44208;&#51221;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;[1][2][3][4]&lt;/p&gt;
&lt;p&gt;[8][7][6][5]&lt;/p&gt;
&lt;p&gt;&#51068;&#45800;&#51008; &#47588;&#51649; &#49828;&#53272;&#50612;&#45716; &#50836;&#47088;&amp;nbsp;&#54805;&#51032; &#53580;&#51060;&#48660;&#51064;&#45936; &#51068;&#47148;&#47196; &#48176;&#50676;&#54620;&#45796;&#44256; &#52824;&#44256; &#49373;&#44033; &#54644; &#48372;&#47732; 1/2/3/4/5/6/7/8 8&#44060;&#47196; &#47564;&#46308; &#49688; &#51080;&#45716;&lt;/p&gt;
&lt;p&gt;&#49692;&#50676;&#51060;&#46972;&#44256; &#49373;&#44033; &#54624; &#49688; &#51080;&#44192;&#51648;. &#44536;&#47100;&amp;nbsp;&#47564;&#46308;&#50612; &#51656; &#49688; &#51080;&#45716; &#44032;&#51648;&#49688;&#45716; 8! = 40320&#44060;&#45768;&#44620; &#52376;&#47532;&#54616;&#44592; &#48520;&#44032;&#45733; &#54620; &#49688;&#45716; &#50500;&#45768;&#44192;&#44400;.&lt;/p&gt;
&lt;p&gt;&#44536;&#47100; &#47564;&#46308; &#49688; &#51080;&#45716; &#49692;&#50676;&#51032; &#44033; &#44032;&#51648;&#49688;&#47484; 1~40320&#51004;&#47196; &#44033;&#44033; &#47588;&#52824;&#49884;&#53420; &#49688; &#51080;&#45716; &#48169;&#48277;&#51012; &#44032;&#51648;&#44256; &#51080;&#50612;&#50556;&#54616;&#44192;&#51020;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50668;&#44592;&#49436; &#44900; &#44256;&#48124;&#54664;&#45716;&#45936; Dish&#50640;&#44172;&amp;nbsp;&#47932;&#50612;&#48420;&#45908;&#45768; "Dynamic&#51004;&#47196;&amp;nbsp;&#54616;&#47732;&amp;nbsp;&#44396;&#54644;&#51656; &#44163; &#44057;&#45796;."&#45716; &#45813;&#48320;. &#51060;&#47111;&#44172; &#54616;&#47732; &#47928;&#51228;&#44032; &#46104;&#45716; &#44163;&#51060;&lt;/p&gt;
&lt;p&gt;Dynamic&#51004;&#47196; &#44228;&#49328;&#51012; &#54616;&#47140;&#47732; &#50526;&#50640;&#49436;&#48512;&#53552; &#49692;&#52264;&#51201;&#51004;&#47196; &#49892;&#51228; &#53456;&#49353; &#44284;&#51221;&#50640;&#49436; &#50416;&#51060;&#51648; &#50506;&#51012;&#51648;&#46020; &#47784;&#47476;&#45716; &#44221;&#50864;&#51032; &#49688; &#44620;&#51648;&#46020; &#45796;&lt;/p&gt;
&lt;p&gt;&#44228;&#49328;&#54644;&#50556;&#54616;&#47728; [&#49692;&#50676;]&amp;nbsp;-&amp;gt; [&#49692;&#49436;] &#54805;&#53468;&#51032; map&#44620;&#51648; &#54616;&#45208; &#44032;&#51648;&#44256; &#51080;&#50612;&#50556;&#54616;&#45768; &#48324;&#47196; &#53456;&#53441;&#51648;&#44032; &#50506;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#44208;&#44397; &#48156;&#44204;&#54620; &#44032;&#51109;&amp;nbsp;&#44036;&#45800;&#54620; &#48169;&#48277;&#51008; &#49692;&#49436;&#44032;&amp;nbsp;&#50633;&#53020;&#51080;&#45716; &#44163;&#51012; &#51060;&#50857;&#54616;&#45716; &#44163;&lt;/p&gt;
&lt;p&gt;12345867&#51060; &#51080;&#45796;&#44256; &#54616;&#47732;&amp;nbsp;1&#51032; &#46244;&#50640;&#45716; 1&#48372;&#45796;&amp;nbsp;&#51089;&#51008; &#44163;&#51060; 0&#44060;, 2&#51032; &#46244;&#50640;&#45716; 2&#48372;&#45796;&amp;nbsp;&#51089;&#51008; &#44163;&#51060; 0&#44060;,...,&amp;nbsp;8&#51032; &#46244;&#50640;&#45716; 8&#48372;&#45796; &#51089;&#51008; &#44163;&#51060; 2&#44060;,...&lt;/p&gt;
&lt;p&gt;&#54616;&#45716; &#50836; &#44844;&#51064; &#44163;&#51012; &#51060;&#50857;&#54644;&#49436; &#44228;&#49328;&#54616;&#45716; &#44163;&#51060; &#44032;&#51109; &#44036;&#45800;&#54620; &#46319; &#54616;&#45796;. &#44160;&#49353;&#51012; &#51328; &#54644;&#48372;&#45768; &#45824;&#54924;&#50640;&#49436;&#46020; &#51060;&#47088; &#44221;&#50864;&#50640;&#45716; &#48372;&#53685; &#51060; &#48169;&#48277;&#51012; &#49324;&#50857;&#54616;&#45716;&#46319;&lt;/p&gt;
&lt;p&gt;&#51060;&#44152; &#45908; &#49688;&#54665;&#49884;&#44036;&#51012; &#51460;&#51060;&#44592;&#50948;&#54644;&#49436;&amp;nbsp;Table &#47564;&#46308;&#50612;&#44032;&#51648;&#44256;&amp;nbsp;&#51060;&#47111;&#44172;&#51200;&#47111;&#44172;&#54616;&#45716; &#51667;&#46020; &#51080;&#45912;&#45936; &#49324;&#49892; &#52264;&#51060;&#44032; &#53364; &#44163; &#44057;&#51648;&#45716; &#50506;&#45796;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;int arr[8] = {i1,i2,i3,i4,i5,i6,i7,i8}&lt;/p&gt;
&lt;p&gt;int i,j,answer;&lt;/p&gt;
&lt;p&gt;for( i = 0; i &amp;lt; 7;i++)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 2em"&gt;int&amp;nbsp;count = 0;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 2em"&gt;for(j=i+1;j &amp;lt;&amp;nbsp;8;j++)&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 4em"&gt;if(arr[j] &amp;lt; arr[i]) count++;&lt;/p&gt;
&lt;p style="MARGIN-LEFT: 2em"&gt;answer = answer * (8-i) + count;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51221;&#46020;&#47196; &#54616;&#47732; &#46104;&#44192;&#45796; '&#12613;'&amp;nbsp;&lt;/p&gt;
</description>
      <pubDate>Mon, 01 Sep 2008 19:02:29 +0900</pubDate>
      <link>http://djtaka.springnote.com/pages/1697208</link>
      <guid>http://djtaka.springnote.com/pages/1697208</guid>
    </item>
    <item>
      <title>3.2.4 Feed Ratios</title>
      <description>&lt;p&gt;Test 1: TEST OK [0.022 secs, 2840 KB]&lt;br /&gt;
Test 2: TEST OK [0.022 secs, 2844 KB]&lt;br /&gt;
Test 3: TEST OK [0.022 secs, 2840 KB]&lt;br /&gt;
Test 4: TEST OK [0.022 secs, 2844 KB]&lt;br /&gt;
Test 5: TEST OK [0.011 secs, 2840 KB]&lt;br /&gt;
Test 6: TEST OK [0.022 secs, 2840 KB]&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&#45432;&#44032;&#45796; &#45432;&#44032;&#45796; &#45432;&#44032;&#45796; &#45432;&#44032;&#45796;.&lt;/p&gt;
&lt;p&gt;&#49789;&#44172; &#54400;&#47540; &#51460; &#50508;&#50520;&#45716;&#45936; &#51032;&#50808;&#47196; &#51060;&#44163; &#51200;&#44163; &#54616;&#45796;&#48372;&#45768; &#44256;&#49373;...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;/*&lt;br /&gt;
ID: djtaka2&lt;br /&gt;
PROG: ratios&lt;br /&gt;
LANG: C++&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
using namespace std;&lt;/li&gt;
&lt;li&gt;int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;&amp;nbsp;i,j,k;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Variables&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;mixtures[3][3],objective[3];&lt;br /&gt;
&amp;nbsp;int l;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Get input&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ifstream fin ("ratios.in");&lt;br /&gt;
&amp;nbsp;ofstream fout ("ratios.out");&lt;br /&gt;
&amp;nbsp;fin &amp;gt;&amp;gt; objective[0] &amp;gt;&amp;gt; objective[1] &amp;gt;&amp;gt; objective[2];&lt;br /&gt;
&amp;nbsp;fin &amp;gt;&amp;gt; mixtures[0][0] &amp;gt;&amp;gt; mixtures[0][1] &amp;gt;&amp;gt; mixtures[0][2];&lt;br /&gt;
&amp;nbsp;fin &amp;gt;&amp;gt; mixtures[1][0] &amp;gt;&amp;gt; mixtures[1][1] &amp;gt;&amp;gt; mixtures[1][2];&lt;br /&gt;
&amp;nbsp;fin &amp;gt;&amp;gt; mixtures[2][0] &amp;gt;&amp;gt; mixtures[2][1] &amp;gt;&amp;gt; mixtures[2][2];&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Function test&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Processing&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;result[3];&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;answer[3]={1000,1000,1000},totalRatio;&lt;br /&gt;
&amp;nbsp;int tempAnswer[3] = {-1,-1,-1};&lt;br /&gt;
&amp;nbsp;if(objective[0] == 0 &amp;amp;&amp;amp; objective[1] == 0 &amp;amp;&amp;amp; objective[2] == 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fout &amp;lt;&amp;lt; "0 0 0 0\n";&lt;/li&gt;
&lt;li&gt;&amp;nbsp;for(i=0 ; i&amp;lt;100 ; i++)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;for(j=0 ; j&amp;lt;100 ; j++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;for(k=0 ; k&amp;lt;100 ; k++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(i==0 &amp;amp;&amp;amp; j==0 &amp;amp;&amp;amp; k==0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tempAnswer[0] = tempAnswer[1] = tempAnswer[2];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result[0] = mixtures[0][0] * i + mixtures[1][0] * j + mixtures[2][0] * k;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result[1] = mixtures[0][1] * i + mixtures[1][1] * j + mixtures[2][1] * k;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result[2] = mixtures[0][2] * i + mixtures[1][2] * j + mixtures[2][2] * k;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bool isNotAnswer=false;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(l=0 ; l&amp;lt;3 ; l++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(objective[l])&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if((result[l] % objective[l]) == 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tempAnswer[l] = result[l] / objective[l];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(tempAnswer[l] &amp;gt; answer[l]) // &#45813;&#51008; &#45813;&#51064;&#45936; &#52572;&#49548; &#45813;&#51060; &#50500;&#45784;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isNotAnswer = true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else // &#45813; &#48520;&#44032;&#45733;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isNotAnswer = true;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tempAnswer[l] = (result[0] + result[1] + result[2]) / (objective[0] + objective[1] + objective[2]);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(isNotAnswer)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(tempAnswer[0] == tempAnswer[1] &amp;amp;&amp;amp; tempAnswer[1] == tempAnswer[2]) // &#45813;&#51060;&#53216;&#45208;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;answer[0] = i;//tempAnswer[0];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;answer[1] = j;//tempAnswer[1];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;answer[2] = k;//tempAnswer[2];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;totalRatio = tempAnswer[0];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Output&lt;br /&gt;
&amp;nbsp;if(answer[0] == 1000)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fout &amp;lt;&amp;lt; "NONE\n";&lt;br /&gt;
&amp;nbsp;else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fout &amp;lt;&amp;lt; answer[0] &amp;lt;&amp;lt; " " &amp;lt;&amp;lt; answer[1] &amp;lt;&amp;lt; " " &amp;lt;&amp;lt; answer[2] &amp;lt;&amp;lt; " " &amp;lt;&amp;lt; totalRatio &amp;lt;&amp;lt; "\n";&lt;/li&gt;
&lt;li&gt;&amp;nbsp;return 0;&lt;br /&gt;
}&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
</description>
      <pubDate>Fri, 29 Aug 2008 13:40:31 +0900</pubDate>
      <link>http://djtaka.springnote.com/pages/1684870</link>
      <guid>http://djtaka.springnote.com/pages/1684870</guid>
    </item>
    <item>
      <title>3.2.3 Spinning Wheels</title>
      <description>&lt;p&gt;Test 1: TEST OK [0.000 secs, 2856 KB]&lt;br /&gt;
Test 2: TEST OK [0.011 secs, 2852 KB]&lt;br /&gt;
Test 3: TEST OK [0.000 secs, 2852 KB]&lt;br /&gt;
Test 4: TEST OK [0.000 secs, 2856 KB]&lt;br /&gt;
Test 5: TEST OK [0.000 secs, 2852 KB]&lt;br /&gt;
Test 6: TEST OK [0.011 secs, 2852 KB]&lt;br /&gt;
Test 7: TEST OK [0.000 secs, 2852 KB]&lt;br /&gt;
Test 8: TEST OK [0.000 secs, 2856 KB]&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&#47700;&#47784;&#47532;&#45716; &#51328; &#47566;&#51060; &#47673;&#51648;&#47564; &#48736;&#47476;&#44172; &#54400; &#49688; &#51080;&#45716; &#48169;&#48277; &#49440;&#53469;. &#47928;&#51228;&#44032; &#50504; &#54400;&#47140;&#49436; &#51060;&#44144; &#45824;&#52404; &#50780; &#51060;&#47084;&#45208; &#54620;&#52280;&lt;/p&gt;
&lt;p&gt;&#44256;&#49373;&#51012; &#54664;&#45716;&#45936;&amp;nbsp;&amp;gt;&#51060;&#45264; &amp;gt;=&#51060;&#45264;&#51032; &#49440;&#53469;&#50640;&#49436; &#47560;&#51648;&#47561; 1&#44032;&#51648; &#44221;&#50864;&#51032; &#49688;&#44032; &#50504; &#44152;&#47140;&#49436; &#47928;&#51228;&#44032; &#50504;&#54400;&#47532;&#44256;&#51080;&#50632;&#51020;..&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;/*&lt;br /&gt;
ID: djtaka2&lt;br /&gt;
PROG: spin&lt;br /&gt;
LANG: C++&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
using namespace std;&lt;/li&gt;
&lt;li&gt;struct Wheel&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;int surface[721]; // 0 : normal / 1 : wedge&lt;br /&gt;
&amp;nbsp;int cursor;&lt;br /&gt;
&amp;nbsp;int speed;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Wheel()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;: cursor(0), speed(0)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;for(int i=0 ; i &amp;lt;= 720 ; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;surface[i] = 0;&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;int getSurfaceStatus(int offset)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;return surface[cursor + offset];&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
};&lt;/li&gt;
&lt;li&gt;Wheel wheels[5];&lt;/li&gt;
&lt;li&gt;void OutputStatus()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;ofstream fo("test.out");&lt;br /&gt;
&amp;nbsp;for(int i=0;i&amp;lt;360;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fo &amp;lt;&amp;lt; i &amp;lt;&amp;lt; "\t" &amp;lt;&amp;lt; wheels[0].getSurfaceStatus(i) &amp;lt;&amp;lt; wheels[1].getSurfaceStatus(i) &amp;lt;&amp;lt; wheels[2].getSurfaceStatus(i) &amp;lt;&amp;lt; wheels[3].getSurfaceStatus(i) &amp;lt;&amp;lt; wheels[4].getSurfaceStatus(i) &amp;lt;&amp;lt; "\n";&lt;br /&gt;
}&lt;/li&gt;
&lt;li&gt;int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;&amp;nbsp;i,j,k;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Variables&lt;br /&gt;
&amp;nbsp;int wedgeCount;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Get input&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ifstream fin ("spin.in");&lt;br /&gt;
&amp;nbsp;ofstream fout ("spin.out");&lt;/li&gt;
&lt;li&gt;&amp;nbsp;for(i=0 ; i&amp;lt;5 ; i++)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fin &amp;gt;&amp;gt; wheels[i].speed &amp;gt;&amp;gt; wedgeCount;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;for(j=0 ; j &amp;lt; wedgeCount ; j++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;int start,extent;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;fin &amp;gt;&amp;gt; start &amp;gt;&amp;gt; extent;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;for(k = start ; k &amp;lt;= start+extent ; k++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wheels[i].surface[(k%360)] = wheels[i].surface[(k%360)+360] = 1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;// Function test&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Processing&lt;br /&gt;
&amp;nbsp;int answer = -1;&lt;br /&gt;
&amp;nbsp;for(i=0 ; i&amp;lt;360 ; i++)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;//if(i == 357)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;//&amp;nbsp;OutputStatus();&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;for(j=0 ; j&amp;lt;360 ; j++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(wheels[0].getSurfaceStatus(j) == 1 &amp;amp;&amp;amp; wheels[1].getSurfaceStatus(j) == 1 &amp;amp;&amp;amp; wheels[2].getSurfaceStatus(j) == 1 &amp;amp;&amp;amp; wheels[3].getSurfaceStatus(j) == 1 &amp;amp;&amp;amp; wheels[4].getSurfaceStatus(j) == 1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;answer = i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(answer != -1) // &#45813; &#52286;&#50520;&#51004;&#45768; &#49828;&#53681;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;for(j=0 ; j&amp;lt;5 ; j++) // &#45149;&#45228;&#51004;&#45768; &#46028;&#47140;&#51452;&#51088;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;wheels[j].cursor = (360 + wheels[j].cursor - wheels[j].speed) % 360;&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Output&lt;br /&gt;
&amp;nbsp;if(i == 360) // no answer&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fout &amp;lt;&amp;lt; "none\n";&lt;br /&gt;
&amp;nbsp;else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fout &amp;lt;&amp;lt; answer &amp;lt;&amp;lt; "\n";&lt;/li&gt;
&lt;li&gt;&amp;nbsp;return 0;&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
</description>
      <pubDate>Thu, 28 Aug 2008 13:48:09 +0900</pubDate>
      <link>http://djtaka.springnote.com/pages/1679604</link>
      <guid>http://djtaka.springnote.com/pages/1679604</guid>
    </item>
    <item>
      <title>3.2.2(&#45796;&#49884;) Stringsobits</title>
      <description>&lt;p&gt;&#44592;&#48376;&#51201;&#51004;&#47196; Combination&#51012; &#47564;&#46308;&#50612;&#49436; &#51217;&#44540;&#54620;&#45796;&#45716; &#47732;&#50640;&#49436;&#45716; &#50732;&#48148;&#47476;&#44172; &#49884;&#51089;&#51012; &#54664;&#45716;&#45936;, S&#44032; &#51221;&#47148;&#46104;&#50612; &#51080;&#50612;&#50556; &#54620;&#45796;&#45716;&lt;/p&gt;
&lt;p&gt;&#44163;&#50640;&#49436; &#49892;&#49688;&#47484;&amp;nbsp;&#54664;&#51020;.&amp;nbsp;&#50668;&#44592;&#51080;&#45716;&#44148; &#54616;&#46020; &#47784;&#47476;&#44192;&#50612;&#49436; &#44256;&#48124;&#54616;&#44256; &#44396;&#44544;&#47553;&#54616;&#45796;&#44032;&amp;nbsp;&#48156;&#44204;&#54620; &#45813;&#50504; &#52852;&#54588;&#54644;&#49436; &#47564;&#46304;&#44144;. &#45208;&#51473;&#50640; &#45796;&#49884; &#54400;&#51088;.&lt;/p&gt;
&lt;p&gt;Printbits&#44057;&#51008; &#50500;&#51060;&#46356;&#50612;&#45716; &#44361;&#51109;&#55176; &#51339;&#51008;&#45936; &#51648;&#44552;&#51008; &#48324;&#47196; &#48516;&#49437; &#54624; &#47560;&#51020;&#46020; &#50504;&#46304;&#45796;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;/*&lt;br /&gt;
ID: djtaka2&lt;br /&gt;
PROG: kimbits&lt;br /&gt;
LANG: C++&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;list&amp;gt;&lt;br /&gt;
using namespace std;&lt;/li&gt;
&lt;li&gt;// a C b &#47484; &#44228;&#49328;&lt;br /&gt;
int combination(int a,int b)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;if(b == 1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;return a;&lt;br /&gt;
&amp;nbsp;if(a == b)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;return 1;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;int result = 1;&lt;br /&gt;
&amp;nbsp;int i;&lt;br /&gt;
&amp;nbsp;for(i=0 ; i&amp;lt;b ;i++)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;result *= (a-i);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;result /= (i+1);&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;return result;&lt;br /&gt;
}&lt;/li&gt;
&lt;li&gt;ofstream fout ("kimbits.out");&lt;br /&gt;
long long&amp;nbsp; combinationTable[33][33];&lt;/li&gt;
&lt;li&gt;void printbits(int nbits, int nones, long long index)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;long long s;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;if(nbits == 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;return;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;s = combinationTable[nbits-1][nones];&lt;br /&gt;
&amp;nbsp;if(s &amp;lt;= index)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fout &amp;lt;&amp;lt; "1";&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printbits(nbits-1, nones-1, index-s);&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;else&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fout &amp;lt;&amp;lt; "0";&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printbits(nbits-1, nones, index);&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
}&lt;/li&gt;
&lt;li&gt;int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;&amp;nbsp;i,j,k;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Variables&lt;br /&gt;
&amp;nbsp;int stringLength, checkedCount;&lt;br /&gt;
&amp;nbsp;long long targetCount;&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;curCount=0;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Get input&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ifstream fin ("kimbits.in");&lt;br /&gt;
&amp;nbsp;fin &amp;gt;&amp;gt; stringLength &amp;gt;&amp;gt; checkedCount &amp;gt;&amp;gt; targetCount;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Function test&lt;br /&gt;
&amp;nbsp;// cout &amp;lt;&amp;lt; combination(8,8) &amp;lt;&amp;lt; "\n";&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Processing&lt;br /&gt;
&amp;nbsp;for(j=0; j&amp;lt;=32; j++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;combinationTable[0][j] = 1;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;for(i=1; i&amp;lt;=32; i++)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;for(j=0; j&amp;lt;=32; j++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(j == 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;combinationTable[i][j] = 1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;combinationTable[i][j] = combinationTable[i-1][j-1] + combinationTable[i-1][j];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Output&lt;br /&gt;
&amp;nbsp;printbits(stringLength,checkedCount,targetCount-1);&lt;br /&gt;
&amp;nbsp;fout &amp;lt;&amp;lt; "\n";&lt;/li&gt;
&lt;li&gt;&amp;nbsp;return 0;&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
</description>
      <pubDate>Tue, 26 Aug 2008 15:52:01 +0900</pubDate>
      <link>http://djtaka.springnote.com/pages/1669100</link>
      <guid>http://djtaka.springnote.com/pages/1669100</guid>
    </item>
    <item>
      <title>3.2.1 Factorials</title>
      <description>&lt;p&gt;Test 1: TEST OK [0.022 secs, 2844 KB]&lt;br /&gt;
Test 2: TEST OK [0.011 secs, 2844 KB]&lt;br /&gt;
Test 3: TEST OK [0.000 secs, 2840 KB]&lt;br /&gt;
Test 4: TEST OK [0.000 secs, 2844 KB]&lt;br /&gt;
Test 5: TEST OK [0.000 secs, 2844 KB]&lt;br /&gt;
Test 6: TEST OK [0.000 secs, 2844 KB]&lt;br /&gt;
Test 7: TEST OK [0.011 secs, 2844 KB]&lt;br /&gt;
Test 8: TEST OK [0.000 secs, 2840 KB]&lt;br /&gt;
Test 9: TEST OK [0.011 secs, 2844 KB]&lt;br /&gt;
Test 10: TEST OK [0.000 secs, 2840 KB]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#50500; &#47952;&#50556; &#49772;&#50868; &#47928;&#51228;&#51094;&#50500; '&#12613;'~ &#54616;&#45796;&#44032;&amp;nbsp;&#48120;&#45124;&#47084;&#51664;. &#44273;&#49480;&#51012; &#54624; &#46412; "&#47560;&#51648;&#47561; &#51088;&#47532; &#49688;"&#47564; &#48372;&#51316;&#54616;&#44256;&#51080;&#51004;&#47732; &#52572;&#51333; &#44208;&#44284;&#51032; &#47560;&#51648;&#47561; &#51088;&#47532; &#49707;&#51088;&#47484; &#50508; &#49688; &#51080;&#45716; &#44163;&#51008;&lt;/p&gt;
&lt;p&gt;&#47582;&#45716;&#45936; &#51060; &#47928;&#51228;&#51032; &#51312;&#44148;&#52376;&#47100; 0&#51060; &#50500;&#45772; &#47560;&#51648;&#47561; &#49688;..&#44057;&#51008;&#44172; &#46104;&#50612;&#49436; &#50668;&#47084; &#51088;&#47532;&#51032; &#48320;&#49688;&#44032; &#49373;&#44592;&#44172; &#46104;&#47732; &#44536;&#47111;&#44172; &#44036;&#45800;&#54616;&#44172; &#49373;&#44033;&#54616;&#47732; &#50504;&#46108;&#45796;&#45733;... &#51201;&#50612;&#46020;&lt;/p&gt;
&lt;p&gt;&#49849;&#49688;&#51032; &#51088;&#47532;&#49688;&#47564;&#53372;&#51032; &#51088;&#47532; &#50732;&#47548;&#51060; &#48156;&#49373; &#54624; &#49688; &#51080;&#45716; &#51221;&#46020;&#51032; &#50668;&#50976;&#45716; &#47560;&#47144; &#54644; &#51452;&#50612;&#50556;&#54620;&#45796;&#45733;...&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&amp;nbsp;/*&lt;br /&gt;
ID: djtaka2&lt;br /&gt;
PROG: fact4&lt;br /&gt;
LANG: C++&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;list&amp;gt;&lt;br /&gt;
using namespace std;&lt;/li&gt;
&lt;li&gt;int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;&amp;nbsp;i,j,k;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Variables&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;&amp;nbsp;n;&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;&amp;nbsp;val = 1;&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;&amp;nbsp;jari = 10;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Get input&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ifstream fin ("fact4.in");&lt;br /&gt;
&amp;nbsp;ofstream fout ("fact4.out");&lt;br /&gt;
&amp;nbsp;fin &amp;gt;&amp;gt; n;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Function test&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Processing&lt;br /&gt;
&amp;nbsp;for(i=1 ; i&amp;lt;=n ; i++)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(i == 10) jari = 100;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;else if(i == 100) jari = 1000;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;else if(1 == 1000) jari = 10000;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;val *= i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;// &#46244;&#50640; 0 &#46524;&#44256;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;while(val % 10 == 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;val /= 10;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;// &#52488;&#44284; &#46524;&#44256;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(val &amp;gt; jari)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;val %= jari;&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;while(val % 10 == 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;val /= 10;&lt;br /&gt;
&amp;nbsp;if(val &amp;gt; 10)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;val %= 10;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Output&lt;br /&gt;
&amp;nbsp;fout &amp;lt;&amp;lt; val &amp;lt;&amp;lt; "\n";&lt;/li&gt;
&lt;li&gt;&amp;nbsp;return 0;&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
</description>
      <pubDate>Tue, 26 Aug 2008 11:43:35 +0900</pubDate>
      <link>http://djtaka.springnote.com/pages/1667662</link>
      <guid>http://djtaka.springnote.com/pages/1667662</guid>
    </item>
    <item>
      <title>USACO</title>
      <description>&lt;p&gt;2008&#45380; 8&#50900; 8&#51068; : Section 3.1 &#49884;&#51089;&lt;br /&gt;
2008&#45380; 8&#50900; 25&#51068; : Section 3.2 &#49884;&#51089;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>
      <pubDate>Mon, 25 Aug 2008 17:59:20 +0900</pubDate>
      <link>http://djtaka.springnote.com/pages/1602896</link>
      <guid>http://djtaka.springnote.com/pages/1602896</guid>
    </item>
    <item>
      <title>3.1.4 Shaping Regions</title>
      <description>&lt;p&gt;Test 1: TEST OK [0.000 secs, 2848 KB]&lt;br /&gt;
Test 2: TEST OK [0.000 secs, 2848 KB]&lt;br /&gt;
Test 3: TEST OK [0.011 secs, 2848 KB]&lt;br /&gt;
Test 4: TEST OK [0.011 secs, 2848 KB]&lt;br /&gt;
Test 5: TEST OK [0.011 secs, 2852 KB]&lt;br /&gt;
Test 6: TEST OK [0.000 secs, 2848 KB]&lt;br /&gt;
Test 7: TEST OK [0.000 secs, 2848 KB]&lt;br /&gt;
Test 8: TEST OK [0.011 secs, 2848 KB]&lt;br /&gt;
Test 9: TEST OK [0.000 secs, 2852 KB]&lt;br /&gt;
Test 10: TEST OK [0.022 secs, 2852 KB]&lt;br /&gt;
Test 11: TEST OK [0.032 secs, 2852 KB]&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#51328;&amp;nbsp;&#45824;&#52649;&#45824;&#52649;&amp;nbsp;&#54400;&#45796;&#44032; &#44480;&#52270;&#50500;&#49436; &#50696;&#51228; input&#47564; &#46028;&#47140;&#48372;&#44256; &#51228;&#52636;&#54664;&#45716;&#45936; &#54620; &#48169;&#50640; OK&amp;nbsp;-_-)b&lt;/p&gt;
&lt;p&gt;Divide&#54616;&#47732;&amp;nbsp;&#49324;&#44033;&#54805;&#51060; 1&#44060;~4&#44060;&#47196; &#51900;&#44060;&#51648;&#44592; &#46412;&#47928;&#50640; &#47561; &#48520;&#50612;&#45208;&#49436;&amp;nbsp;&#49884;&#44036;&#51060; &#51328; &#50724;&#47000; &#44152;&#47532;&#51652; &#50506;&#51012;&#44620; &#44145;&#51221;&#54664;&#45716;&#45936;&lt;/p&gt;
&lt;p&gt;&#45796;&#54665;&#55176; &#49324;&#44033;&#54805;&#51060; &#50896;&#47000; 2500&#44060; &#48150;&#50640; &#50504;&#46104;&#44592;&#46020; &#54616;&#44256; &#48324; &#47928;&#51228; &#50630;&#50632;&#45912; &#46319;... &#44217;&#52824;&#45716; &#48512;&#48516; &#50612;&#46523;&#44172; &#54952;&#50984;&#51201;&#51004;&#47196; &#51096;&lt;/p&gt;
&lt;p&gt;&#52404;&#53356;&#54616;&#45716; &#48277; &#50630;&#45208; &#49910;&#50612;&#49436; &#49324;&#44033;&#54805; &#52649;&#46028; &#52404;&#53356;&#50640; &#44288;&#54620;&#44144; &#52286;&#50500;&#48372;&#44256; &#54664;&#45716;&#45936; &#44536;&#45285; &#45432;&#44032;&#45796;&#44032;&amp;nbsp;&#51228;&#51068;&#51064;&#46319;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;/*&lt;br /&gt;
ID: djtaka2&lt;br /&gt;
PROG: rect1&lt;br /&gt;
LANG: C++&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;list&amp;gt;&lt;br /&gt;
using namespace std;&lt;/li&gt;
&lt;li&gt;struct Rectangle&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;color;&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;x1,x2,y1,y2;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;int getSize()&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;return (x2-x1)*(y2-y1);&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
};&lt;/li&gt;
&lt;li&gt;list&amp;lt;Rectangle&amp;gt; rects;&lt;br /&gt;
typedef list&amp;lt;Rectangle&amp;gt;::iterator RectangleListIt;&lt;br /&gt;
int colorCount[2501];&lt;/li&gt;
&lt;li&gt;void InsertRect(Rectangle&amp;amp; newRect)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;RectangleListIt it;&lt;br /&gt;
&amp;nbsp;RectangleListIt delIt=rects.end();&lt;/li&gt;
&lt;li&gt;&amp;nbsp;for(it = rects.begin() ; it != rects.end() ; advance(it,1))&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(delIt != rects.end())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;rects.erase(delIt);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;delIt = rects.end();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;Rectangle oldRect = *it;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;// &#50504;&#44217;&#52824;&#47732;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(oldRect.x2 &amp;lt;= newRect.x1 || oldRect.x1 &amp;gt;= newRect.x2 || oldRect.y2 &amp;lt;= newRect.y1 || oldRect.y1 &amp;gt;= newRect.y2)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;continue;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;// &#50500;&#50696; &#45934;&#50612;&#48260;&#47532;&#47732;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(oldRect.x1 &amp;gt;= newRect.x1 &amp;amp;&amp;amp; oldRect.x2 &amp;lt;= newRect.x2 &amp;amp;&amp;amp; oldRect.y1 &amp;gt;= newRect.y1 &amp;amp;&amp;amp; oldRect.y2 &amp;lt;= newRect.y2)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;delIt = it;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;continue;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;// Left&lt;br /&gt;
&amp;nbsp;&amp;nbsp;Rectangle tempRect = oldRect;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(oldRect.x1 &amp;lt;= newRect.x1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;tempRect.x2 = newRect.x1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(tempRect.x1 &amp;lt; tempRect.x2) // &#50976;&#54952;&#54620;&#44032;?&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rects.push_back(tempRect);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;oldRect.x1 = newRect.x1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;// Right&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(oldRect.x2 &amp;gt;= newRect.x2)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;tempRect = oldRect;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;tempRect.x1 = newRect.x2;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(tempRect.x1 &amp;lt; tempRect.x2) // &#50976;&#54952;&#54620;&#44032;?&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rects.push_back(tempRect);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;oldRect.x2 = newRect.x2;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;// Up&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(oldRect.y1 &amp;lt;= newRect.y1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;tempRect = oldRect;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;tempRect.y2 = newRect.y1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(tempRect.y1 &amp;lt; tempRect.y2) // &#50976;&#54952;&#54620;&#44032;?&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rects.push_back(tempRect);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;oldRect.y1 = newRect.y1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;// Down&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(oldRect.y2 &amp;gt;= newRect.y2)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;tempRect = oldRect;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;tempRect.y1 = newRect.y2;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(tempRect.y1 &amp;lt; tempRect.y2) // &#50976;&#54952;&#54620;&#44032;?&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rects.push_back(tempRect);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;oldRect.y2 = newRect.y2;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;delIt = it;&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;// &#52628;&#44032;&lt;br /&gt;
&amp;nbsp;rects.push_back(newRect);&lt;br /&gt;
}&lt;/li&gt;
&lt;li&gt;int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;&amp;nbsp;i,j,k;&lt;br /&gt;
&amp;nbsp;// Variables&lt;br /&gt;
&amp;nbsp;int width,height,rectCount;&lt;br /&gt;
&amp;nbsp;int x1,x2,y1,y2,color;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;for(i=0;i&amp;lt;2500;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;colorCount[i] = 0;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Get input&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ifstream fin ("rect1.in");&lt;br /&gt;
&amp;nbsp;ofstream fout ("rect1.out");&lt;br /&gt;
&amp;nbsp;fin &amp;gt;&amp;gt; width &amp;gt;&amp;gt; height &amp;gt;&amp;gt; rectCount;&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&amp;nbsp;// &#48176;&#44221; Rect&lt;br /&gt;
&amp;nbsp;Rectangle tempRect;&lt;br /&gt;
&amp;nbsp;tempRect.color = 1;&lt;br /&gt;
&amp;nbsp;tempRect.x1 = 0;&lt;br /&gt;
&amp;nbsp;tempRect.x2 = width;&lt;br /&gt;
&amp;nbsp;tempRect.y1 = 0;&lt;br /&gt;
&amp;nbsp;tempRect.y2 = height;&lt;br /&gt;
&amp;nbsp;InsertRect(tempRect);&lt;/li&gt;
&lt;li&gt;&amp;nbsp;for(i=0 ; i&amp;lt;rectCount ; i++)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fin &amp;gt;&amp;gt; x1 &amp;gt;&amp;gt; y1 &amp;gt;&amp;gt; x2 &amp;gt;&amp;gt; y2 &amp;gt;&amp;gt; color;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;tempRect.x1 = x1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;tempRect.x2 = x2;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;tempRect.y1 = y1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;tempRect.y2 = y2;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;tempRect.color = color;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;InsertRect(tempRect);&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Function test&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Processing&lt;br /&gt;
&amp;nbsp;RectangleListIt it;&lt;br /&gt;
&amp;nbsp;for(it = rects.begin() ; it != rects.end() ; advance(it,1))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;colorCount[it-&amp;gt;color] += it-&amp;gt;getSize();&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Output&lt;br /&gt;
&amp;nbsp;for(i=0;i&amp;lt;2501;i++)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(colorCount[i])&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;fout &amp;lt;&amp;lt; i &amp;lt;&amp;lt; " " &amp;lt;&amp;lt; colorCount[i] &amp;lt;&amp;lt; "\n";&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;return 0;&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
</description>
      <pubDate>Mon, 25 Aug 2008 17:56:56 +0900</pubDate>
      <link>http://djtaka.springnote.com/pages/1664762</link>
      <guid>http://djtaka.springnote.com/pages/1664762</guid>
    </item>
    <item>
      <title>3.1.6 Stamps</title>
      <description>&lt;p&gt;Test 1: TEST OK [0.011 secs, 10652 KB]&lt;br /&gt;
Test 2: TEST OK [0.011 secs, 10656 KB]&lt;br /&gt;
Test 3: TEST OK [0.000 secs, 10656 KB]&lt;br /&gt;
Test 4: TEST OK [0.000 secs, 10652 KB]&lt;br /&gt;
Test 5: TEST OK [0.000 secs, 10652 KB]&lt;br /&gt;
Test 6: TEST OK [0.000 secs, 10656 KB]&lt;br /&gt;
Test 7: TEST OK [0.000 secs, 10652 KB]&lt;br /&gt;
Test 8: TEST OK [0.000 secs, 10656 KB]&lt;br /&gt;
Test 9: TEST OK [0.000 secs, 10656 KB]&lt;br /&gt;
Test 10: TEST OK [0.097 secs, 10656 KB]&lt;br /&gt;
Test 11: TEST OK [0.626 secs, 10656 KB]&lt;br /&gt;
Test 12: TEST OK [0.216 secs, 10652 KB]&lt;br /&gt;
Test 13: TEST OK [0.011 secs, 10656 KB]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;DP&#47928;&#51228;. &#46041;&#51204;&#51004;&#47196;&amp;nbsp;&#47751; &#44060; &#51060;&#54616;&#47196; &#50024;&#49436; &#50620;&#47560; &#47564;&#46308;&#44592; &#51060;&#47088; &#47448;&#51032; &#51221;&#49437;&#51201;&#51064; &#47928;&#51228;&#46993; &#50976;&#49324;&#54620; &#45712;&#45196;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;&amp;nbsp;/*&lt;br /&gt;
ID: djtaka2&lt;br /&gt;
PROG: stamps&lt;br /&gt;
LANG: C++&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
using namespace std;&lt;/li&gt;
&lt;li&gt;int minStampCount[10000*200+2];&lt;/li&gt;
&lt;li&gt;int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;&amp;nbsp;i,j,k;&lt;br /&gt;
&amp;nbsp;// Variables&lt;br /&gt;
&amp;nbsp;int fitCount,stampCount,maxStampCost=0;&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;stampCosts[51];&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Get input&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ifstream fin ("stamps.in");&lt;br /&gt;
&amp;nbsp;ofstream fout ("stamps.out");&lt;br /&gt;
&amp;nbsp;fin &amp;gt;&amp;gt; fitCount &amp;gt;&amp;gt; stampCount;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;for(i=0 ; i&amp;lt;stampCount ; i++)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fin &amp;gt;&amp;gt; stampCosts[i];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(stampCosts[i] &amp;gt; maxStampCost) maxStampCost = stampCosts[i];&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;minStampCount[0] = 0;&lt;br /&gt;
&amp;nbsp;for(i=1 ; i&amp;lt;maxStampCost*fitCount + 1 ; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;minStampCount[i] = 100000;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Function test&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Processing&lt;br /&gt;
&amp;nbsp;for(i=1 ; i&amp;lt;maxStampCost*fitCount + 1 ; i++)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;for(j=0 ; j&amp;lt;stampCount ; j++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(i - stampCosts[j] &amp;lt; 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;continue;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(minStampCount[i] &amp;gt; minStampCount[i - stampCosts[j]] + 1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;minStampCount[i] = minStampCount[i - stampCosts[j]] + 1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(minStampCount[i] &amp;gt; fitCount)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Output&lt;br /&gt;
&amp;nbsp;fout &amp;lt;&amp;lt; i-1 &amp;lt;&amp;lt; "\n";&lt;/li&gt;
&lt;li&gt;&amp;nbsp;return 0;&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
</description>
      <pubDate>Fri, 22 Aug 2008 14:04:30 +0900</pubDate>
      <link>http://djtaka.springnote.com/pages/1654778</link>
      <guid>http://djtaka.springnote.com/pages/1654778</guid>
    </item>
    <item>
      <title>3.1.5 Contact</title>
      <description>&lt;p&gt;Test 1: TEST OK [0.000 secs, 4044 KB]&lt;br /&gt;
Test 2: TEST OK [0.000 secs, 4044 KB]&lt;br /&gt;
Test 3: TEST OK [0.011 secs, 4044 KB]&lt;br /&gt;
Test 4: TEST OK [0.022 secs, 4044 KB]&lt;br /&gt;
Test 5: TEST OK [0.032 secs, 4044 KB]&lt;br /&gt;
Test 6: TEST OK [0.032 secs, 4040 KB]&lt;br /&gt;
Test 7: TEST OK [0.054 secs, 4040 KB]&lt;/p&gt;
&lt;p&gt;&#51228;&#48277; &#48736;&#47476;&#44172; &#53685;&#44284; '&#12613;')b&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;itoa atoi &#44057;&#51008;&#44172; c++&amp;nbsp;&#54364;&#51456;&#51060; &#50500;&#45768;&#46972;&#45716; &#44163;&#51012; &#51452;&#51032; -_- &#50500;&#45460;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#47928;&#51088;&#50676; 0101 &#44057;&#51008; &#54056;&#53556;&#51012; &#44536;&#45285; 2&#51652;&#49688;&#47196; &#48320;&#54872;&#54644;&#49436; &#48176;&#50676;&#50640; &#45347;&#44256; &#44050;&#51060; &#46609;&#44057;&#51008; &#44163; &#45180;&#47532; &#48708;&#44368;&#54616;&#45716; &#44163;&#51060;&lt;/p&gt;
&lt;p&gt;&#44032;&#51109; &#44592;&#48376;&amp;nbsp;idea.&amp;nbsp;DP&#47196;&amp;nbsp;&#54616;&#47732; &#48736;&#47476;&#44172; &#44228;&#49328; &#46108;&#45796;. &#45224;&#46308;&#51008; &#50612;&#52236; &#54400;&#50632;&#45208; &#44417;&#44552;&#54664;&#45716;&#45936; Analysis&#48372;&#45768;&#44620; &#49464;&#48512; &#44396;&#54788;&#51008;&lt;/p&gt;
&lt;p&gt;&#51328; &#45804;&#46972;&#46020; &#44592;&#48376; &#52265;&#50504;&#51216;&#51008; &#46609;&#44057;&#51020;.&lt;/p&gt;
&lt;p&gt;+ &#52628;&#44032;&amp;nbsp;&#51060; &#48169;&#49885;&#45824;&#47196;&#46972;&#47732; 01&#44284; 0001&#51060; &#44057;&#51008; &#49688;&#44032; &#46104;&#50612;&#48260;&#47532;&#48064;&#47196; length&#47484; &#46384;&#47196; &#51200;&#51109;&#54644;&#50556;&#54616;&#49436;&amp;nbsp;&#53076;&#46300;&#44032; &#48373;&#51105;&#54644;&#51648;&#45716;&#45936;&lt;/p&gt;
&lt;p&gt;&#45813;&#50504;&#50640; &#48372;&#47732;&amp;nbsp;&#49707;&#51088; &#50526;&#50640; &#47924;&#51312;&#44148; 1&#51012; &#54616;&#45208; &#45908; &#48537;&#50668;&#49436; &#51060;&#47484; &#44396;&#48516;&#54616;&#45716; &#48169;&#48277;&#51012; &#50044;&#51020;(01 -&amp;gt; 101, 0001 -&amp;gt; 10001)&lt;/p&gt;
&lt;p&gt;&#44361;&#51109;&#55176; &#44036;&#45800;&#44148;&#45936; &#44361;&#51109;&#55176; &#50976;&#50857;&#54620; &#50500;&#51060;&#46356;&#50612;&#51064;&#46319;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&#52376;&#51020;&#50640;&#45716; &#50628;&#52397;&#45208;&#44172; &#53360; &#48176;&#50676; [13][200001]&#51676;&#47532;&#47484; &#51105;&#44256; &#45936;&#51060;&#53552;&#47484; &#51200;&#51109;&#54616;&#45716; &#44163;&#51012; &#49373;&#44033;&lt;/p&gt;
&lt;p&gt;-&amp;gt; &#49892;&#51656;&#51201;&#51004;&#47196;&#45716;&amp;nbsp;[13][2]&#47564; &#44032;&#51648;&#44256; &#51080;&#51004;&#47732;&amp;nbsp;&#44228;&#49549;&#54644;&#49436; &#45796;&#51020; &#44050;&#51012; &#47564;&#46308;&#50612; &#45244; &#49688; &#51080;&#45796;&#45716; &#44163;&#51012; &#52265;&#50504;&lt;/p&gt;
&lt;p&gt;-&amp;gt; (&#48156;&#51204;) &#44480;&#52270;&#50500;&#49436; &#50504;&#54664;&#51648;&#47564; tableShift&#47484; &#54616;&#45716; &#45824;&#49888;&#50640; &#44536;&#45285;&amp;nbsp;&#48176;&#50676;&#51032; [0]&#54665; [1]&#54665;&#51032; &#50857;&#46020;&#47484; &#48264;&#44040;&#50500;&#44032;&#47732;&#49436;&amp;nbsp;&#50416;&#47732;&lt;/p&gt;
&lt;p&gt;&#45908; &#48744;&#46972;&#51656; &#46319;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;priority_queue&#47484; &#50416;&#45716;&#45936; &#45824;&#54644;&#49436; &#44145;&#51221;&#54664;&#45716;&#45936;&amp;nbsp;&#51060;&#44144;&amp;nbsp;&#49373;&#44033;&#48372;&#45796; &#45712;&#47532;&#51648;&#45716; &#50506;&#51008; &#46319;?&lt;/p&gt;
&lt;p&gt;&#45929;&#52824; &#53360; &#45936;&#51060;&#53552;&#46308;&#51008;&amp;nbsp;qsort&#47196; &#51221;&#47148;&#54616;&#45716; &#44163; &#48372;&#45796;&#45716;&amp;nbsp;&#51060;&#44172; &#48736;&#47484;&#49688;&#46020; &#51080;&#44192;&#45796; &#49910;&#51020;. &#44540;&#45936;&amp;nbsp;&#50416;&#44592;&#44032; &#44900; &#44480;&#52270;&#45348;...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol class="code"&gt;
&lt;li&gt;/*&lt;br /&gt;
ID: djtaka2&lt;br /&gt;
PROG: contact&lt;br /&gt;
LANG: C++&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;stack&amp;gt;&lt;br /&gt;
#include &amp;lt;queue&amp;gt;&lt;br /&gt;
using namespace std;&lt;/li&gt;
&lt;li&gt;int&amp;nbsp;&amp;nbsp;str[200001];&lt;br /&gt;
int&amp;nbsp;&amp;nbsp;table[13][2];&lt;br /&gt;
int&amp;nbsp;&amp;nbsp;countTable[13][8193];&lt;/li&gt;
&lt;li&gt;void getBinNumber(char* buf,int val,int len)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;stack&amp;lt;int&amp;gt; st;&lt;br /&gt;
&amp;nbsp;while(val)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;st.push(val%2);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;val /= 2;&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;int i;&lt;br /&gt;
&amp;nbsp;for(i=0;i&amp;lt;len-st.size();i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;buf[i] = '0';&lt;br /&gt;
&amp;nbsp;while(!st.empty())&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;buf[i++] = '0'+st.top();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;st.pop();&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;buf[i] = '\0';&lt;br /&gt;
}&lt;/li&gt;
&lt;li&gt;struct CountData&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;int len;&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;val;&lt;br /&gt;
&amp;nbsp;int count;&lt;br /&gt;
};&lt;/li&gt;
&lt;li&gt;class Comparison&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; bool reverse;&lt;br /&gt;
public:&lt;br /&gt;
&amp;nbsp; Comparison(const bool&amp;amp; revparam=false)&lt;br /&gt;
&amp;nbsp; {reverse=revparam;}&lt;br /&gt;
&amp;nbsp; bool operator() (const CountData&amp;amp; lhs, const CountData&amp;amp; rhs) const&lt;br /&gt;
&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; //if (reverse)&lt;br /&gt;
&amp;nbsp;//&amp;nbsp;return (lhs.count&amp;gt;rhs.count);&lt;br /&gt;
&amp;nbsp;if(lhs.count == rhs.count)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(lhs.len == rhs.len)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;return (lhs.val &amp;gt; rhs.val);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;return (lhs.len &amp;gt; rhs.len);&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;return (lhs.count &amp;lt; rhs.count);&lt;br /&gt;
&amp;nbsp; }&lt;br /&gt;
};&lt;/li&gt;
&lt;li&gt;void shiftTable()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;i;&lt;br /&gt;
&amp;nbsp;for(i=0;i&amp;lt;13;i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;table[i][1] = table[i][0];&lt;br /&gt;
}&lt;/li&gt;
&lt;li&gt;int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;&amp;nbsp;i,j,k;&lt;br /&gt;
&amp;nbsp;// Variables&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;minLength,maxLength,outputCount,strLength,valMax=2;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Get input&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ifstream fin ("contact.in");&lt;br /&gt;
&amp;nbsp;ofstream fout ("contact.out");&lt;/li&gt;
&lt;li&gt;&amp;nbsp;fin &amp;gt;&amp;gt; minLength &amp;gt;&amp;gt; maxLength &amp;gt;&amp;gt; outputCount;&lt;br /&gt;
&amp;nbsp;for(i=0;i&amp;lt;maxLength;i++)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;valMax *= 2;&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;memset(table,0,sizeof(table));&lt;br /&gt;
&amp;nbsp;memset(countTable,0,sizeof(countTable));&lt;/li&gt;
&lt;li&gt;&amp;nbsp;i = 0;&lt;br /&gt;
&amp;nbsp;char&amp;nbsp;c;&lt;br /&gt;
&amp;nbsp;while(1)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fin &amp;gt;&amp;gt; c;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(fin.eof())&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(c == '0')&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;str[i] = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;else if(c == '1')&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;str[i] = 1;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;continue;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;i++;&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;strLength = i;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Function test&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Processing&lt;br /&gt;
&amp;nbsp;// Table&#51012; &#47564;&#46308;&#44256;&lt;br /&gt;
&amp;nbsp;for(i=strLength-1 ; i &amp;gt;= 0 ; i--)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;int lineVal = str[i];&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;for(j=1 ; j &amp;lt;= maxLength ; j++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(i + j &amp;gt; strLength) // &#50724;&#48260;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;table[j][0] = lineVal + (table[j-1][1]);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;countTable[j][table[j][0]]++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;lineVal *= 2;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;shiftTable();&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// PQueue&#50640; &#45347;&#44256;&lt;br /&gt;
&amp;nbsp;priority_queue&amp;lt;CountData,vector&amp;lt;CountData&amp;gt;,Comparison&amp;gt;&amp;nbsp;pq;&lt;br /&gt;
&amp;nbsp;for(i=minLength ; i &amp;lt;= maxLength ; i++)&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;for(j=0 ; j &amp;lt; valMax ; j++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(countTable[i][j])&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CountData&amp;nbsp;tempData;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tempData.len = i;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tempData.val = j;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tempData.count = countTable[i][j];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pq.push(tempData);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;// Output&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;count=0;&lt;br /&gt;
&amp;nbsp;int curCount = 0;&lt;br /&gt;
&amp;nbsp;int&amp;nbsp;printedCount;&lt;br /&gt;
&amp;nbsp;char buf[15];&lt;br /&gt;
&amp;nbsp;while(!pq.empty())&lt;br /&gt;
&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;if(curCount != pq.top().count)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;curCount = pq.top().count;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;count++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(count &amp;gt; outputCount)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(count != 1)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fout &amp;lt;&amp;lt; "\n";&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;fout &amp;lt;&amp;lt; curCount &amp;lt;&amp;lt; "\n";&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;printedCount = 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;if(printedCount &amp;amp;&amp;amp; printedCount % 6 == 0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fout &amp;lt;&amp;lt; "\n";&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fout &amp;lt;&amp;lt; " ";&lt;br /&gt;
&amp;nbsp;&amp;nbsp;}&lt;/li&gt;
&lt;li&gt;&amp;nbsp;&amp;nbsp;getBinNumber(buf,pq.top().val,pq.top().len);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;printedCount++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;fout &amp;lt;&amp;lt; buf;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;pq.pop();&lt;br /&gt;
&amp;nbsp;}&lt;br /&gt;
&amp;nbsp;fout &amp;lt;&amp;lt; "\n";&lt;br /&gt;
&amp;nbsp;return 0;&lt;br /&gt;
}&lt;/li&gt;
&lt;/ol&gt;
</description>
      <pubDate>Fri, 22 Aug 2008 11:23:34 +0900</pubDate>
      <link>http://djtaka.springnote.com/pages/1651690</link>
      <guid>http://djtaka.springnote.com/pages/1651690</guid>
    </item>
  </channel>
</rss>
