<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=CuttingSticks%2F%EB%AC%B8%EB%B3%B4%EC%B0%BD</id>
	<title>CuttingSticks/문보창 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=CuttingSticks%2F%EB%AC%B8%EB%B3%B4%EC%B0%BD"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=CuttingSticks/%EB%AC%B8%EB%B3%B4%EC%B0%BD&amp;action=history"/>
	<updated>2026-05-15T19:11:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=CuttingSticks/%EB%AC%B8%EB%B3%B4%EC%B0%BD&amp;diff=31032&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:23, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=CuttingSticks/%EB%AC%B8%EB%B3%B4%EC%B0%BD&amp;diff=31032&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 소감 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 2005-12-28   Accepted   0.785   452&lt;br /&gt;
|}&lt;br /&gt;
== 코드 ==&lt;br /&gt;
 // 10003 - Cutting Sticks&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 //#include &amp;amp;lt;fstream&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 #define MAX_CUT 53&lt;br /&gt;
 #define MAX_NUM 0x7fffffff&lt;br /&gt;
 &lt;br /&gt;
 //fstream fin(&amp;quot;in.txt&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 static int lenStick, numCut;&lt;br /&gt;
 static int cut[MAX_CUT];&lt;br /&gt;
 static int d[MAX_CUT][MAX_CUT];&lt;br /&gt;
 &lt;br /&gt;
 bool input()&lt;br /&gt;
 {&lt;br /&gt;
 	cin &amp;amp;gt;&amp;amp;gt; lenStick;&lt;br /&gt;
 	if (lenStick == 0)&lt;br /&gt;
 		return false;&lt;br /&gt;
 	cin &amp;amp;gt;&amp;amp;gt; numCut;&lt;br /&gt;
 	for (int i = 1; i &amp;amp;lt;= numCut; i++)&lt;br /&gt;
 		cin &amp;amp;gt;&amp;amp;gt; cut[i];&lt;br /&gt;
 	return true;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void initTable()&lt;br /&gt;
 {&lt;br /&gt;
 	cut[0] = 0, cut[numCut+1] = lenStick;&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt;= numCut; i++)&lt;br /&gt;
 		d[i][i+1] = cut[i+1] - cut[i];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int process()&lt;br /&gt;
 {&lt;br /&gt;
 	initTable();&lt;br /&gt;
 &lt;br /&gt;
 	int j, min;&lt;br /&gt;
 	for (int step = 1; step &amp;amp;lt;= numCut; step++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt;= numCut - step; i++)&lt;br /&gt;
 		{&lt;br /&gt;
 			j = i + step + 1;&lt;br /&gt;
 			min = MAX_NUM;&lt;br /&gt;
 			for (int k = i + 1; k &amp;amp;lt;= j - 1; k++)&lt;br /&gt;
 			{&lt;br /&gt;
 				if (min &amp;amp;gt; d[i][k] + d[k][j])&lt;br /&gt;
 					min = d[i][k] + d[k][j];&lt;br /&gt;
 			}&lt;br /&gt;
 			d[i][j] = min + cut[j] - cut[i];&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	return d[0][numCut+1] - lenStick;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 inline&lt;br /&gt;
 void show(const int result)&lt;br /&gt;
 {&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;The minimum cutting is &amp;quot; &amp;amp;lt;&amp;amp;lt; result &amp;amp;lt;&amp;amp;lt; &amp;quot;.\n&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	int result;&lt;br /&gt;
 	while (input())	&lt;br /&gt;
 	{&lt;br /&gt;
 		result = process();&lt;br /&gt;
 		show(result);&lt;br /&gt;
 	}&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
----&lt;br /&gt;
[[CuttingSticks]] [[문보창]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>