<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=124.49.27.23</id>
	<title>ZeroWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=124.49.27.23"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php/Special:Contributions/124.49.27.23"/>
	<updated>2026-05-14T15:47:45Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=1R/2016_09_23&amp;diff=26065</id>
		<title>1R/2016 09 23</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=1R/2016_09_23&amp;diff=26065"/>
		<updated>2016-09-30T15:11:33Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 오늘의 문제 =&lt;br /&gt;
* [https://www.acmicpc.net/problem/1697|숨바꼭질]&lt;br /&gt;
&lt;br /&gt;
= 참가자 =&lt;br /&gt;
* 15이원준&lt;br /&gt;
* 박인서&lt;br /&gt;
* [[곽정흠]]&lt;br /&gt;
&lt;br /&gt;
= 코드 =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;cmath&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;algorithm&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;utility&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
   int arr[100001] = {0,};&lt;br /&gt;
   int N, M, ans;&lt;br /&gt;
   queue&amp;amp;lt;pair&amp;amp;lt;int, int&amp;amp;gt;&amp;amp;gt; que;&lt;br /&gt;
   cin&amp;amp;gt;&amp;amp;gt; N &amp;amp;gt;&amp;amp;gt; M;&lt;br /&gt;
   if(N &amp;amp;gt;= M){&lt;br /&gt;
     cout&amp;amp;lt;&amp;amp;lt; N - M &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
     return 0;&lt;br /&gt;
   }&lt;br /&gt;
   que.push(make_pair(N, 0));&lt;br /&gt;
   while(que.front().first != M){&lt;br /&gt;
     int n, dep;&lt;br /&gt;
     n = que.front().first;&lt;br /&gt;
     dep = que.front().second;&lt;br /&gt;
     que.pop();&lt;br /&gt;
     if(n-1 &amp;amp;gt;= 0 &amp;amp;amp;&amp;amp;amp; !arr[n-1]){&lt;br /&gt;
       arr[n-1] = 1;&lt;br /&gt;
       que.push(make_pair(n - 1, dep + 1));&lt;br /&gt;
     }&lt;br /&gt;
     if(n+1 &amp;amp;lt;= 100000 &amp;amp;amp;&amp;amp;amp; !arr[n+1]){&lt;br /&gt;
       arr[n+1] = 1;&lt;br /&gt;
       que.push(make_pair(n + 1, dep + 1));&lt;br /&gt;
     }&lt;br /&gt;
     if(n * 2 &amp;amp;lt;= 100000 &amp;amp;amp;&amp;amp;amp; !arr[n*2]){&lt;br /&gt;
       arr[n*2] = 1;&lt;br /&gt;
       que.push(make_pair(n * 2, dep + 1));&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   cout&amp;amp;lt;&amp;amp;lt; que.front().second &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 typedef std::pair&amp;amp;lt;int, int&amp;amp;gt; pair_int;&lt;br /&gt;
 std::queue&amp;amp;lt;pair_int&amp;amp;gt; q;&lt;br /&gt;
 bool visit[200001];&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	int s, e;&lt;br /&gt;
 	std::cin &amp;amp;gt;&amp;amp;gt; s &amp;amp;gt;&amp;amp;gt; e;&lt;br /&gt;
 	if (s &amp;amp;lt; e) {&lt;br /&gt;
 		q.push(pair_int(s, 0));&lt;br /&gt;
 		while (q.front().first != e) {&lt;br /&gt;
 			pair_int tq = q.front();&lt;br /&gt;
 			if (tq.first &amp;amp;lt; e &amp;amp;amp;&amp;amp;amp; !visit[tq.first * 2])&lt;br /&gt;
 				q.push(pair_int(tq.first * 2, tq.second + 1)), visit[tq.first * 2] = true;&lt;br /&gt;
 			if (tq.first &amp;amp;lt; e &amp;amp;amp;&amp;amp;amp; !visit[tq.first + 1])&lt;br /&gt;
 				q.push(pair_int(tq.first + 1, tq.second + 1)), visit[tq.first + 1] = true;&lt;br /&gt;
 			if (tq.first &amp;amp;gt; 0 &amp;amp;amp;&amp;amp;amp; !visit[tq.first - 1])&lt;br /&gt;
 				q.push(pair_int(tq.first - 1, tq.second + 1)), visit[tq.first - 1] = true;&lt;br /&gt;
 			q.pop();&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 		std::cout &amp;amp;lt;&amp;amp;lt; q.front().second;&lt;br /&gt;
 	}&lt;br /&gt;
 	else std::cout &amp;amp;lt;&amp;amp;lt; s - e;&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #define MAX_QUEUE 100000&lt;br /&gt;
 #define MAX_NODE 100001&lt;br /&gt;
  &lt;br /&gt;
 int distance[MAX_NODE];&lt;br /&gt;
 int queue[MAX_QUEUE];&lt;br /&gt;
 int first = 0, last = 0;&lt;br /&gt;
 &lt;br /&gt;
 void add(int tmp) {&lt;br /&gt;
 	if (last == MAX_QUEUE) {&lt;br /&gt;
 		last = 0;&lt;br /&gt;
 		queue[last++] = tmp;&lt;br /&gt;
 	}&lt;br /&gt;
 	else {&lt;br /&gt;
 		queue[last++] = tmp;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 int delete(void) {&lt;br /&gt;
 	if (first == MAX_QUEUE - 1) {&lt;br /&gt;
 		first = 0;&lt;br /&gt;
 		return queue[MAX_QUEUE-1];&lt;br /&gt;
 	}&lt;br /&gt;
 	else {&lt;br /&gt;
 		return queue[first++];&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 int bnf(int n, int k) {&lt;br /&gt;
 	int tmp = delete();&lt;br /&gt;
 	if (tmp == k) {&lt;br /&gt;
 		return 1;&lt;br /&gt;
 	}&lt;br /&gt;
 	if (tmp * 2 &amp;amp;lt;= k+1) {&lt;br /&gt;
 		if (distance[tmp * 2] &amp;amp;gt; distance[tmp] + 1) {&lt;br /&gt;
 			distance[tmp * 2] = distance[tmp] + 1;&lt;br /&gt;
 			add(tmp * 2);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	if (distance[tmp + 1] &amp;amp;gt; distance[tmp] + 1) {&lt;br /&gt;
 		distance[tmp +1] = distance[tmp] + 1;&lt;br /&gt;
 		add(tmp + 1);&lt;br /&gt;
 	}&lt;br /&gt;
 	if (tmp - 1 &amp;amp;gt;= 0&amp;amp;amp;&amp;amp;amp;distance[tmp-1]&amp;amp;gt;distance[tmp]+1) {&lt;br /&gt;
 		distance[tmp -1] = distance[tmp] + 1;&lt;br /&gt;
 		add(tmp - 1);&lt;br /&gt;
 	}&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
 	int n, k;&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; MAX_NODE; i++) {&lt;br /&gt;
 		distance[i] = MAX_NODE;&lt;br /&gt;
 	}&lt;br /&gt;
 	scanf(&amp;quot;%d%d&amp;quot;, &amp;amp;amp;n, &amp;amp;amp;k);&lt;br /&gt;
 	distance[n] = 0;&lt;br /&gt;
 	add(n);&lt;br /&gt;
 	while (bnf(n, k) == 0) {&lt;br /&gt;
 		&lt;br /&gt;
 	}&lt;br /&gt;
 	printf(&amp;quot;%d\n&amp;quot;, distance[k]);&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
= 아이디어 =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
* 기본적인 아이디어는 Queue를 이용한 BFS이다.&lt;br /&gt;
* 단 너무 숫자가 커지면 안되므로, 200000이 넘어가면 제한을 한다.&lt;br /&gt;
* 그리고 뒤로 갈 경우 갈 수 있는 방법은 -1밖에 없으므로 그 것을 예외 처리 해준다.&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=1R/2016_09_11&amp;diff=26013</id>
		<title>1R/2016 09 11</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=1R/2016_09_11&amp;diff=26013"/>
		<updated>2016-09-23T12:50:21Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 오늘의 문제 =&lt;br /&gt;
* [http://www.acmicpc.net/problem/1932|숫자 삼각형]&lt;br /&gt;
&lt;br /&gt;
= 참가자 =&lt;br /&gt;
* 박인서&lt;br /&gt;
* 15이원준&lt;br /&gt;
* [[곽정흠]]&lt;br /&gt;
= 코드 =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
       vector&amp;amp;lt;int&amp;amp;gt; in;&lt;br /&gt;
       vector&amp;amp;lt;int&amp;amp;gt; vec;&lt;br /&gt;
       int N;&lt;br /&gt;
       scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;N);&lt;br /&gt;
       int size;&lt;br /&gt;
       size = N * (N + 1) / 2;&lt;br /&gt;
       for(int i = 0; i&amp;amp;lt;size; i++){&lt;br /&gt;
         int temp;&lt;br /&gt;
         scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;temp);&lt;br /&gt;
         in.push_back(temp);&lt;br /&gt;
       }&lt;br /&gt;
       vec.resize(size, 0);&lt;br /&gt;
       int i = 0;&lt;br /&gt;
       vec[0] = in[0];&lt;br /&gt;
       for(int j = 1; j&amp;amp;lt;N; j++){ //줄 변경&lt;br /&gt;
         for(int m = 0; m&amp;amp;lt;j; m++){ //m번째 줄 전부 탐색&lt;br /&gt;
           for(int k = 0; k &amp;amp;lt; 2; k++){ //아왼, 아오&lt;br /&gt;
             if(vec[i + k + j] &amp;amp;lt; vec[i] + in[i + k + j])&lt;br /&gt;
               vec[i + k + j] = vec[i] + in[i + k + j];&lt;br /&gt;
           }&lt;br /&gt;
           i++;&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
       int max = 0;&lt;br /&gt;
       for(int j = size-N; j &amp;amp;lt;size; j++){&lt;br /&gt;
         if(max &amp;amp;lt; vec[j]){&lt;br /&gt;
           max = vec[j];&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
       printf(&amp;quot;%d\n&amp;quot;, max);&lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;algorithm&amp;amp;gt;&lt;br /&gt;
 int a[501][501], dp[501][501];&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
 	int n;&lt;br /&gt;
 &lt;br /&gt;
 	std::cin &amp;amp;gt;&amp;amp;gt; n;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;n; i++) {&lt;br /&gt;
 		for (int j = 0; j &amp;amp;lt;= i; j++) {&lt;br /&gt;
 			std::cin &amp;amp;gt;&amp;amp;gt; a[i][j];&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	dp[0][0] = a[0][0];&lt;br /&gt;
 	for (int i = 1; i&amp;amp;lt;n; i++) {&lt;br /&gt;
 		dp[i][0] = dp[i - 1][0] + a[i][0];&lt;br /&gt;
 		for (int j = 1; j&amp;amp;lt;i; j++) {&lt;br /&gt;
 			dp[i][j] = std::max(dp[i - 1][j - 1], dp[i - 1][j]) + a[i][j];&lt;br /&gt;
 		}&lt;br /&gt;
 		dp[i][i] = dp[i - 1][i - 1] + a[i][i];&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	int max = 0;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;n; i++) {&lt;br /&gt;
 		if (max&amp;amp;lt;dp[n - 1][i]) max = dp[n - 1][i];&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	std::cout &amp;amp;lt;&amp;amp;lt; max;&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 typedef struct {&lt;br /&gt;
 	int num;&lt;br /&gt;
 	int maxSum;&lt;br /&gt;
 }node;&lt;br /&gt;
 &lt;br /&gt;
 node tri[500][500];&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
 	int n;&lt;br /&gt;
 	int maxRoute;&lt;br /&gt;
 	int maxFinal;&lt;br /&gt;
 	scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;n);&lt;br /&gt;
 &lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 		for (int j = 0; j &amp;amp;lt;= i; j++) {&lt;br /&gt;
 			scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;(tri[i][j].num));&lt;br /&gt;
 &lt;br /&gt;
 			if (i == 0 &amp;amp;amp;&amp;amp;amp; j == 0) {&lt;br /&gt;
 				tri[i][j].maxSum = tri[i][j].num;&lt;br /&gt;
 			}&lt;br /&gt;
 			else {&lt;br /&gt;
 				if (j != 0 &amp;amp;amp;&amp;amp;amp; j != i) {&lt;br /&gt;
 					if (tri[i - 1][j - 1].maxSum &amp;amp;gt; tri[i - 1][j].maxSum) {&lt;br /&gt;
 						tri[i][j].maxSum = tri[i - 1][j - 1].maxSum + tri[i][j].num;&lt;br /&gt;
 					}&lt;br /&gt;
 					else {&lt;br /&gt;
 						tri[i][j].maxSum = tri[i - 1][j].maxSum + tri[i][j].num;&lt;br /&gt;
 					}&lt;br /&gt;
 				}&lt;br /&gt;
 				else if (j == 0 &amp;amp;amp;&amp;amp;amp; i != 0) {&lt;br /&gt;
 					tri[i][j].maxSum = tri[i - 1][j].maxSum + tri[i][j].num;&lt;br /&gt;
 				}&lt;br /&gt;
 				else if (j == i&amp;amp;amp;&amp;amp;amp;j != 0) {&lt;br /&gt;
 					tri[i][j].maxSum = tri[i - 1][j - 1].maxSum + tri[i][j].num;&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	maxFinal = tri[n - 1][0].maxSum;&lt;br /&gt;
 	for (int i = 1; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 		if (tri[n - 1][i].maxSum &amp;amp;gt; maxFinal) {&lt;br /&gt;
 			maxFinal = tri[n - 1][i].maxSum;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;%d&amp;quot;, maxFinal);&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
= 아이디어 =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=1R/2016_09_23&amp;diff=26061</id>
		<title>1R/2016 09 23</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=1R/2016_09_23&amp;diff=26061"/>
		<updated>2016-09-23T12:25:14Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 오늘의 문제 =&lt;br /&gt;
* [https://www.acmicpc.net/problem/1697|숨바꼭질]&lt;br /&gt;
&lt;br /&gt;
= 참가자 =&lt;br /&gt;
* 박인서&lt;br /&gt;
* [[곽정흠]]&lt;br /&gt;
&lt;br /&gt;
= 코드 =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;br /&gt;
= 아이디어 =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=1R/2016_09_11&amp;diff=26012</id>
		<title>1R/2016 09 11</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=1R/2016_09_11&amp;diff=26012"/>
		<updated>2016-09-23T12:24:38Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 오늘의 문제 =&lt;br /&gt;
* [http://www.acmicpc.net/problem/1932|숫자 삼각형]&lt;br /&gt;
&lt;br /&gt;
= 참가자 =&lt;br /&gt;
* 박인서&lt;br /&gt;
* 15이원준&lt;br /&gt;
* [[곽정흠]]&lt;br /&gt;
= 코드 =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
       vector&amp;amp;lt;int&amp;amp;gt; in;&lt;br /&gt;
       vector&amp;amp;lt;int&amp;amp;gt; vec;&lt;br /&gt;
       int N;&lt;br /&gt;
       scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;N);&lt;br /&gt;
       int size;&lt;br /&gt;
       size = N * (N + 1) / 2;&lt;br /&gt;
       for(int i = 0; i&amp;amp;lt;size; i++){&lt;br /&gt;
         int temp;&lt;br /&gt;
         scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;temp);&lt;br /&gt;
         in.push_back(temp);&lt;br /&gt;
       }&lt;br /&gt;
       vec.resize(size, 0);&lt;br /&gt;
       int i = 0;&lt;br /&gt;
       vec[0] = in[0];&lt;br /&gt;
       for(int j = 1; j&amp;amp;lt;N; j++){ //줄 변경&lt;br /&gt;
         for(int m = 0; m&amp;amp;lt;j; m++){ //m번째 줄 전부 탐색&lt;br /&gt;
           for(int k = 0; k &amp;amp;lt; 2; k++){ //아왼, 아오&lt;br /&gt;
             if(vec[i + k + j] &amp;amp;lt; vec[i] + in[i + k + j])&lt;br /&gt;
               vec[i + k + j] = vec[i] + in[i + k + j];&lt;br /&gt;
           }&lt;br /&gt;
           i++;&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
       int max = 0;&lt;br /&gt;
       for(int j = size-N; j &amp;amp;lt;size; j++){&lt;br /&gt;
         if(max &amp;amp;lt; vec[j]){&lt;br /&gt;
           max = vec[j];&lt;br /&gt;
         }&lt;br /&gt;
       }&lt;br /&gt;
       printf(&amp;quot;%d\n&amp;quot;, max);&lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;algorithm&amp;amp;gt;&lt;br /&gt;
 int a[501][501], dp[501][501];&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
 	int n;&lt;br /&gt;
 &lt;br /&gt;
 	std::cin &amp;amp;gt;&amp;amp;gt; n;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;n; i++) {&lt;br /&gt;
 		for (int j = 0; j &amp;amp;lt;= i; j++) {&lt;br /&gt;
 			std::cin &amp;amp;gt;&amp;amp;gt; a[i][j];&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	dp[0][0] = a[0][0];&lt;br /&gt;
 	for (int i = 1; i&amp;amp;lt;n; i++) {&lt;br /&gt;
 		dp[i][0] = dp[i - 1][0] + a[i][0];&lt;br /&gt;
 		for (int j = 1; j&amp;amp;lt;i; j++) {&lt;br /&gt;
 			dp[i][j] = std::max(dp[i - 1][j - 1], dp[i - 1][j]) + a[i][j];&lt;br /&gt;
 		}&lt;br /&gt;
 		dp[i][i] = dp[i - 1][i - 1] + a[i][i];&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	int max = 0;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;n; i++) {&lt;br /&gt;
 		if (max&amp;amp;lt;dp[n - 1][i]) max = dp[n - 1][i];&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	std::cout &amp;amp;lt;&amp;amp;lt; max;&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
미완&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 typedef struct {&lt;br /&gt;
 	int num;&lt;br /&gt;
 	int maxSum;&lt;br /&gt;
 }node;&lt;br /&gt;
 &lt;br /&gt;
 node tri[500][500];&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
 	int n;&lt;br /&gt;
 	int maxRoute;&lt;br /&gt;
 	scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;n);&lt;br /&gt;
 &lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 		for (int j = 0; j &amp;amp;lt; i + 1; j++) {&lt;br /&gt;
 			&lt;br /&gt;
 			if (i == 0 &amp;amp;amp;&amp;amp;amp; j == 0) {&lt;br /&gt;
 				tri[i][j].maxSum = tri[i][j].num;&lt;br /&gt;
 			}&lt;br /&gt;
 			&lt;br /&gt;
 			scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;(tri[i][j].num));&lt;br /&gt;
 			&lt;br /&gt;
 			if (j != 0 &amp;amp;amp;&amp;amp;amp; j != i) {&lt;br /&gt;
 				if (tri[i - 1][j - 1].maxSum&amp;amp;gt;tri[i - 1][j].maxSum) {&lt;br /&gt;
 					tri[i][j].maxSum = tri[i - 1][j - 1].maxSum + tri[i][j].num;&lt;br /&gt;
 				}&lt;br /&gt;
 				else {&lt;br /&gt;
 					tri[i][j].maxSum = tri[i - 1][j].maxSum + tri[i][j].num;&lt;br /&gt;
 				}&lt;br /&gt;
 			}else if(j!)&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
= 아이디어 =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=1R/%EC%9B%8C%EB%B0%8D%EC%97%85%EB%AC%B8%EC%A0%9C&amp;diff=26127</id>
		<title>1R/워밍업문제</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=1R/%EC%9B%8C%EB%B0%8D%EC%97%85%EB%AC%B8%EC%A0%9C&amp;diff=26127"/>
		<updated>2016-09-21T14:07:56Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 오늘의 문제 =&lt;br /&gt;
* [https://www.acmicpc.net/problem/1260|DFS와 BFS]&lt;br /&gt;
* [https://www.acmicpc.net/problem/1965|상자 넣기]&lt;br /&gt;
&lt;br /&gt;
= 참가자 =&lt;br /&gt;
* [[15이원준]], [[박인서]], [[곽정흠]]&lt;br /&gt;
&lt;br /&gt;
= 코드(DFS와 BFS) =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 void DFS(int now);&lt;br /&gt;
 &lt;br /&gt;
 int arr[1010][1010] = { 0, };&lt;br /&gt;
 int visit[1010] = { 0, };&lt;br /&gt;
 int N, M, V;&lt;br /&gt;
 int visitNum = 0;&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
 	scanf(&amp;quot;%d %d %d&amp;quot;, &amp;amp;amp;N, &amp;amp;amp;M, &amp;amp;amp;V);&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt; M; i++) {&lt;br /&gt;
 		int tmp1, tmp2;&lt;br /&gt;
 		scanf(&amp;quot;%d %d&amp;quot;, &amp;amp;amp;tmp1, &amp;amp;amp;tmp2);&lt;br /&gt;
 		arr[tmp1][tmp2] = 1;&lt;br /&gt;
 		arr[tmp2][tmp1] = 1;&lt;br /&gt;
 	}&lt;br /&gt;
 	DFS(V);&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &#039;\n&#039;;&lt;br /&gt;
 &lt;br /&gt;
 	visitNum = 0;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;=N; i++) {&lt;br /&gt;
 		visit[i] = 0;&lt;br /&gt;
 	}&lt;br /&gt;
 	queue&amp;amp;lt;int&amp;amp;gt; s;&lt;br /&gt;
 	s.push(V);&lt;br /&gt;
 	while (!s.empty() || visitNum != N) {&lt;br /&gt;
 		int now = s.front();&lt;br /&gt;
 		s.pop();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, now);&lt;br /&gt;
 		visitNum++;&lt;br /&gt;
 		visit[now] = 1;&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt;= N; i++) {&lt;br /&gt;
 			if (arr[now][i] == 1 &amp;amp;amp;&amp;amp;amp; visit[i] == 0) {&lt;br /&gt;
 				visit[i] = 1;&lt;br /&gt;
 				s.push(i);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void DFS(int now) {&lt;br /&gt;
 	printf(&amp;quot;%d &amp;quot;, now);&lt;br /&gt;
 	if (visitNum == N) {&lt;br /&gt;
 		return;&lt;br /&gt;
 	}&lt;br /&gt;
 	visitNum++;&lt;br /&gt;
 	visit[now] = 1;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;=N; i++) {&lt;br /&gt;
 		if (arr[now][i] == 1 &amp;amp;amp;&amp;amp;amp; visit[i] == 0) {&lt;br /&gt;
 			DFS(i);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;cstdio&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;algorithm&amp;amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 std::vector&amp;amp;lt;int&amp;amp;gt; a[1001];&lt;br /&gt;
 bool visit[1001] = { false, };&lt;br /&gt;
  &lt;br /&gt;
 void dfs(int s, int n) {&lt;br /&gt;
     visit[s] = true;&lt;br /&gt;
     printf(&amp;quot;%d &amp;quot;, s);&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 0; i &amp;amp;lt; a[s].size(); i++) {&lt;br /&gt;
         if (!visit[a[s][i]]) dfs(a[s][i], n);&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 void bfs(int s, int n) {&lt;br /&gt;
     std::queue&amp;amp;lt;int&amp;amp;gt; q;&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 1; i &amp;amp;lt;= n; i++)&lt;br /&gt;
         visit[i] = false;&lt;br /&gt;
     q.push(s);&lt;br /&gt;
     visit[s] = true;&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 0; !q.empty(); i++) {&lt;br /&gt;
         int qf = q.front();&lt;br /&gt;
         for (int j = 0; j &amp;amp;lt; a[qf].size(); j++) {&lt;br /&gt;
             if (!visit[a[qf][j]]) {&lt;br /&gt;
                 q.push(a[qf][j]);&lt;br /&gt;
                 visit[a[qf][j]] = true;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         printf(&amp;quot;%d &amp;quot;, q.front());&lt;br /&gt;
         q.pop();&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     int n, m, v;&lt;br /&gt;
     scanf(&amp;quot;%d %d %d&amp;quot;, &amp;amp;amp;n, &amp;amp;amp;m, &amp;amp;amp;v);&lt;br /&gt;
     for (int i = 0; i &amp;amp;lt; m; i++) {&lt;br /&gt;
         int x, y;&lt;br /&gt;
         scanf(&amp;quot;%d %d&amp;quot;, &amp;amp;amp;x, &amp;amp;amp;y);&lt;br /&gt;
         a[x].push_back(y);&lt;br /&gt;
         a[y].push_back(x);&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 1; i &amp;amp;lt;= n; i++)&lt;br /&gt;
         std::sort(a[i].begin(),a[i].end());&lt;br /&gt;
  &lt;br /&gt;
     dfs(v, n);&lt;br /&gt;
     printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
     bfs(v, n);&lt;br /&gt;
  &lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
백준에서는 런타임오류란다&lt;br /&gt;
비주얼스튜디오는 잘 되는데..&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;stdlib.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int pop();&lt;br /&gt;
 void push(int tmp);&lt;br /&gt;
 &lt;br /&gt;
 int get();&lt;br /&gt;
 void put(int tmp);&lt;br /&gt;
 &lt;br /&gt;
 int stack[100];&lt;br /&gt;
 int top, bottom;&lt;br /&gt;
 &lt;br /&gt;
 int queue[100];&lt;br /&gt;
 int front, rear;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 int main(void) {&lt;br /&gt;
 	int** graph;&lt;br /&gt;
 	int n, m, v;&lt;br /&gt;
 	int popTmp;&lt;br /&gt;
 	int getTmp;&lt;br /&gt;
 &lt;br /&gt;
 	scanf(&amp;quot;%d%d%d&amp;quot;, &amp;amp;amp;n, &amp;amp;amp;m, &amp;amp;amp;v);&lt;br /&gt;
 &lt;br /&gt;
 	graph = (int**)malloc(sizeof(int*)*(n + 1));&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 		graph[i + 1] = (int*)malloc(sizeof(int)*(n + 1));&lt;br /&gt;
 		for (int j = 0; j &amp;amp;lt; n; j++) {&lt;br /&gt;
 			graph[i + 1][j + 1] = 0;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; m; i++) {&lt;br /&gt;
 		int tmp1, tmp2;&lt;br /&gt;
 		scanf(&amp;quot;%d%d&amp;quot;, &amp;amp;amp;tmp1, &amp;amp;amp;tmp2);&lt;br /&gt;
 		graph[tmp1][tmp2] = 1;&lt;br /&gt;
 		graph[tmp2][tmp1] = 1;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	//dfs&lt;br /&gt;
 	top = -1;&lt;br /&gt;
 	bottom = 0;&lt;br /&gt;
 &lt;br /&gt;
 	push(v);&lt;br /&gt;
 	while (top != n - 2) {&lt;br /&gt;
 		int j, test;&lt;br /&gt;
 		popTmp = pop();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, popTmp);&lt;br /&gt;
 		j = popTmp;&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 			test = 0;&lt;br /&gt;
 			for (int k = 0; k &amp;amp;lt;= top; k++) {&lt;br /&gt;
 				if (stack[k] == i + 1) {&lt;br /&gt;
 					test = 1;&lt;br /&gt;
 					break;&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			if (graph[j][i + 1] == 1 &amp;amp;amp;&amp;amp;amp; test == 0) {&lt;br /&gt;
 				j = i + 1;&lt;br /&gt;
 				printf(&amp;quot;%d &amp;quot;, j);&lt;br /&gt;
 				push(j);&lt;br /&gt;
 				i = 0;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 	//bfs&lt;br /&gt;
 	front = 0;&lt;br /&gt;
 	rear = 0;&lt;br /&gt;
 &lt;br /&gt;
 	put(v);&lt;br /&gt;
 	while (front != rear) {&lt;br /&gt;
 		getTmp = get();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, getTmp);&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 			if (graph[getTmp][i + 1] == 1) {&lt;br /&gt;
 				put(i + 1);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int pop() {&lt;br /&gt;
 	return stack[top--];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void push(int tmp) {&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; top; i++) {&lt;br /&gt;
 		if (stack[i] == tmp)&lt;br /&gt;
 			return;&lt;br /&gt;
 	}&lt;br /&gt;
 	stack[++top] = tmp;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int get() {&lt;br /&gt;
 	return queue[front++];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void put(int tmp) {&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; rear; i++) {&lt;br /&gt;
 		if (queue[i] == tmp)&lt;br /&gt;
 			return;&lt;br /&gt;
 	}&lt;br /&gt;
 	queue[rear++] = tmp;&lt;br /&gt;
 }&lt;br /&gt;
= 코드(상자 넣기) =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
   int N, max;&lt;br /&gt;
   vector&amp;amp;lt;int&amp;amp;gt; vec;&lt;br /&gt;
   vector&amp;amp;lt;int&amp;amp;gt; num;&lt;br /&gt;
   scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;N);&lt;br /&gt;
   num.resize(N);&lt;br /&gt;
   for(int i = 0; i &amp;amp;lt; N; i++){&lt;br /&gt;
     int temp;&lt;br /&gt;
     scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;temp);&lt;br /&gt;
     vec.push_back(temp);&lt;br /&gt;
     max = 0;&lt;br /&gt;
     for(int j = 0; j &amp;amp;lt; i; j++){&lt;br /&gt;
       if(num[j] &amp;amp;gt; max &amp;amp;amp;&amp;amp;amp; vec[j] &amp;amp;lt; temp){&lt;br /&gt;
         max = num[j];&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
     num[i] = max + 1;&lt;br /&gt;
   }&lt;br /&gt;
   max = 0;&lt;br /&gt;
   for(int i = 0; i&amp;amp;lt;N; i++){&lt;br /&gt;
     if(num[i] &amp;amp;gt; max){&lt;br /&gt;
       max = num[i];&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   printf(&amp;quot;%d\n&amp;quot;, max);&lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
   &lt;br /&gt;
 int a[1001],dp[1001];&lt;br /&gt;
   &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
         int n,i,j,max=0;&lt;br /&gt;
         //입력&lt;br /&gt;
         std::cin&amp;amp;gt;&amp;amp;gt;n;&lt;br /&gt;
         for(i=0;i&amp;amp;lt;n;i++) std::cin&amp;amp;gt;&amp;amp;gt;a[i];&lt;br /&gt;
         //dp strat&lt;br /&gt;
         for(i=0;i&amp;amp;lt;n;i++)&lt;br /&gt;
         {&lt;br /&gt;
                  for(j=0;j&amp;amp;lt;i;j++)&lt;br /&gt;
                  {&lt;br /&gt;
                          if(a[j]&amp;amp;lt;a[i] &amp;amp;amp;&amp;amp;amp; dp[j]&amp;amp;gt;=dp[i]) dp[i]=dp[j]+1;&lt;br /&gt;
                  }&lt;br /&gt;
                  if(dp[i]==0) dp[i]++;&lt;br /&gt;
                 if(dp[i]&amp;amp;gt;max) max=dp[i];&lt;br /&gt;
         }&lt;br /&gt;
         //출력&lt;br /&gt;
         std::cout&amp;amp;lt;&amp;amp;lt;max&amp;amp;lt;&amp;amp;lt;&#039;\n&#039;;&lt;br /&gt;
         return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;stdlib.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 typedef struct {&lt;br /&gt;
 	int size;&lt;br /&gt;
 	int canPut;&lt;br /&gt;
 }box;&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
 	int num;&lt;br /&gt;
 	box* boxes;&lt;br /&gt;
 	int maxCanPut = 0; //현재까지 최대&lt;br /&gt;
 &lt;br /&gt;
 	scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;num);&lt;br /&gt;
 &lt;br /&gt;
 	boxes = (box*)malloc(sizeof(box)*num);&lt;br /&gt;
 &lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; num; i++) {&lt;br /&gt;
 		scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;((boxes + i)-&amp;amp;gt;size));&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	for (int idx = 0; idx &amp;amp;lt; num; idx++) {&lt;br /&gt;
 		maxCanPut = 0;&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; idx; i++) {&lt;br /&gt;
 			if ((boxes + i)-&amp;amp;gt;size &amp;amp;lt; (boxes + idx)-&amp;amp;gt;size) {&lt;br /&gt;
 				if (maxCanPut &amp;amp;lt; (boxes + i)-&amp;amp;gt;canPut) {&lt;br /&gt;
 					maxCanPut = (boxes + i)-&amp;amp;gt;canPut;&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		(boxes + idx)-&amp;amp;gt;canPut = maxCanPut + 1;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	maxCanPut = boxes-&amp;amp;gt;canPut;&lt;br /&gt;
 	for (int i = 1; i &amp;amp;lt; num; i++) {&lt;br /&gt;
 		if ((boxes + i)-&amp;amp;gt;canPut &amp;amp;gt; maxCanPut) {&lt;br /&gt;
 			maxCanPut = (boxes + i)-&amp;amp;gt;canPut;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;%d&amp;quot;, maxCanPut);&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
= 아이디어 =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
  * DFS와 BFS : DFS는 재귀 이용, BFS는 큐 이용&lt;br /&gt;
  * 상자 넣기 : dp[i]는 그 상자 기준 가장 많은 상자를 넣을 수 있는 가짓수입니다. 이것을 이용하여 계속 DP로 풀어나가면 됩니다.&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=1R/%EC%9B%8C%EB%B0%8D%EC%97%85%EB%AC%B8%EC%A0%9C&amp;diff=26126</id>
		<title>1R/워밍업문제</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=1R/%EC%9B%8C%EB%B0%8D%EC%97%85%EB%AC%B8%EC%A0%9C&amp;diff=26126"/>
		<updated>2016-09-21T12:56:21Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 오늘의 문제 =&lt;br /&gt;
* [https://www.acmicpc.net/problem/1260|DFS와 BFS]&lt;br /&gt;
* [https://www.acmicpc.net/problem/1965|상자 넣기]&lt;br /&gt;
&lt;br /&gt;
= 참가자 =&lt;br /&gt;
* [[15이원준]], [[박인서]], [[곽정흠]]&lt;br /&gt;
&lt;br /&gt;
= 코드(DFS와 BFS) =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 void DFS(int now);&lt;br /&gt;
 &lt;br /&gt;
 int arr[1010][1010] = { 0, };&lt;br /&gt;
 int visit[1010] = { 0, };&lt;br /&gt;
 int N, M, V;&lt;br /&gt;
 int visitNum = 0;&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
 	scanf(&amp;quot;%d %d %d&amp;quot;, &amp;amp;amp;N, &amp;amp;amp;M, &amp;amp;amp;V);&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt; M; i++) {&lt;br /&gt;
 		int tmp1, tmp2;&lt;br /&gt;
 		scanf(&amp;quot;%d %d&amp;quot;, &amp;amp;amp;tmp1, &amp;amp;amp;tmp2);&lt;br /&gt;
 		arr[tmp1][tmp2] = 1;&lt;br /&gt;
 		arr[tmp2][tmp1] = 1;&lt;br /&gt;
 	}&lt;br /&gt;
 	DFS(V);&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &#039;\n&#039;;&lt;br /&gt;
 &lt;br /&gt;
 	visitNum = 0;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;=N; i++) {&lt;br /&gt;
 		visit[i] = 0;&lt;br /&gt;
 	}&lt;br /&gt;
 	queue&amp;amp;lt;int&amp;amp;gt; s;&lt;br /&gt;
 	s.push(V);&lt;br /&gt;
 	while (!s.empty() || visitNum != N) {&lt;br /&gt;
 		int now = s.front();&lt;br /&gt;
 		s.pop();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, now);&lt;br /&gt;
 		visitNum++;&lt;br /&gt;
 		visit[now] = 1;&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt;= N; i++) {&lt;br /&gt;
 			if (arr[now][i] == 1 &amp;amp;amp;&amp;amp;amp; visit[i] == 0) {&lt;br /&gt;
 				visit[i] = 1;&lt;br /&gt;
 				s.push(i);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void DFS(int now) {&lt;br /&gt;
 	printf(&amp;quot;%d &amp;quot;, now);&lt;br /&gt;
 	if (visitNum == N) {&lt;br /&gt;
 		return;&lt;br /&gt;
 	}&lt;br /&gt;
 	visitNum++;&lt;br /&gt;
 	visit[now] = 1;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;=N; i++) {&lt;br /&gt;
 		if (arr[now][i] == 1 &amp;amp;amp;&amp;amp;amp; visit[i] == 0) {&lt;br /&gt;
 			DFS(i);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;cstdio&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;algorithm&amp;amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 std::vector&amp;amp;lt;int&amp;amp;gt; a[1001];&lt;br /&gt;
 bool visit[1001] = { false, };&lt;br /&gt;
  &lt;br /&gt;
 void dfs(int s, int n) {&lt;br /&gt;
     visit[s] = true;&lt;br /&gt;
     printf(&amp;quot;%d &amp;quot;, s);&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 0; i &amp;amp;lt; a[s].size(); i++) {&lt;br /&gt;
         if (!visit[a[s][i]]) dfs(a[s][i], n);&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 void bfs(int s, int n) {&lt;br /&gt;
     std::queue&amp;amp;lt;int&amp;amp;gt; q;&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 1; i &amp;amp;lt;= n; i++)&lt;br /&gt;
         visit[i] = false;&lt;br /&gt;
     q.push(s);&lt;br /&gt;
     visit[s] = true;&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 0; !q.empty(); i++) {&lt;br /&gt;
         int qf = q.front();&lt;br /&gt;
         for (int j = 0; j &amp;amp;lt; a[qf].size(); j++) {&lt;br /&gt;
             if (!visit[a[qf][j]]) {&lt;br /&gt;
                 q.push(a[qf][j]);&lt;br /&gt;
                 visit[a[qf][j]] = true;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         printf(&amp;quot;%d &amp;quot;, q.front());&lt;br /&gt;
         q.pop();&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     int n, m, v;&lt;br /&gt;
     scanf(&amp;quot;%d %d %d&amp;quot;, &amp;amp;amp;n, &amp;amp;amp;m, &amp;amp;amp;v);&lt;br /&gt;
     for (int i = 0; i &amp;amp;lt; m; i++) {&lt;br /&gt;
         int x, y;&lt;br /&gt;
         scanf(&amp;quot;%d %d&amp;quot;, &amp;amp;amp;x, &amp;amp;amp;y);&lt;br /&gt;
         a[x].push_back(y);&lt;br /&gt;
         a[y].push_back(x);&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 1; i &amp;amp;lt;= n; i++)&lt;br /&gt;
         std::sort(a[i].begin(),a[i].end());&lt;br /&gt;
  &lt;br /&gt;
     dfs(v, n);&lt;br /&gt;
     printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
     bfs(v, n);&lt;br /&gt;
  &lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
백준에서는 런타임오류란다&lt;br /&gt;
비주얼스튜디오는 잘 되는데..&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;stdlib.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int pop();&lt;br /&gt;
 void push(int tmp);&lt;br /&gt;
 &lt;br /&gt;
 int get();&lt;br /&gt;
 void put(int tmp);&lt;br /&gt;
 &lt;br /&gt;
 int stack[100];&lt;br /&gt;
 int top, bottom;&lt;br /&gt;
 &lt;br /&gt;
 int queue[100];&lt;br /&gt;
 int front, rear;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 int main(void) {&lt;br /&gt;
 	int** graph;&lt;br /&gt;
 	int n, m, v;&lt;br /&gt;
 	int popTmp;&lt;br /&gt;
 	int getTmp;&lt;br /&gt;
 &lt;br /&gt;
 	scanf(&amp;quot;%d%d%d&amp;quot;, &amp;amp;amp;n, &amp;amp;amp;m, &amp;amp;amp;v);&lt;br /&gt;
 &lt;br /&gt;
 	graph = (int**)malloc(sizeof(int*)*(n + 1));&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 		graph[i + 1] = (int*)malloc(sizeof(int)*(n + 1));&lt;br /&gt;
 		for (int j = 0; j &amp;amp;lt; n; j++) {&lt;br /&gt;
 			graph[i + 1][j + 1] = 0;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; m; i++) {&lt;br /&gt;
 		int tmp1, tmp2;&lt;br /&gt;
 		scanf(&amp;quot;%d%d&amp;quot;, &amp;amp;amp;tmp1, &amp;amp;amp;tmp2);&lt;br /&gt;
 		graph[tmp1][tmp2] = 1;&lt;br /&gt;
 		graph[tmp2][tmp1] = 1;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	//dfs&lt;br /&gt;
 	top = -1;&lt;br /&gt;
 	bottom = 0;&lt;br /&gt;
 &lt;br /&gt;
 	push(v);&lt;br /&gt;
 	while (top != n - 2) {&lt;br /&gt;
 		int j, test;&lt;br /&gt;
 		popTmp = pop();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, popTmp);&lt;br /&gt;
 		j = popTmp;&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 			test = 0;&lt;br /&gt;
 			for (int k = 0; k &amp;amp;lt;= top; k++) {&lt;br /&gt;
 				if (stack[k] == i + 1) {&lt;br /&gt;
 					test = 1;&lt;br /&gt;
 					break;&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			if (graph[j][i + 1] == 1 &amp;amp;amp;&amp;amp;amp; test == 0) {&lt;br /&gt;
 				j = i + 1;&lt;br /&gt;
 				printf(&amp;quot;%d &amp;quot;, j);&lt;br /&gt;
 				push(j);&lt;br /&gt;
 				i = 0;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 	//bfs&lt;br /&gt;
 	front = 0;&lt;br /&gt;
 	rear = 0;&lt;br /&gt;
 &lt;br /&gt;
 	put(v);&lt;br /&gt;
 	while (front != rear) {&lt;br /&gt;
 		getTmp = get();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, getTmp);&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 			if (graph[getTmp][i + 1] == 1) {&lt;br /&gt;
 				put(i + 1);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int pop() {&lt;br /&gt;
 	return stack[top--];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void push(int tmp) {&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; top; i++) {&lt;br /&gt;
 		if (stack[i] == tmp)&lt;br /&gt;
 			return;&lt;br /&gt;
 	}&lt;br /&gt;
 	stack[++top] = tmp;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int get() {&lt;br /&gt;
 	return queue[front++];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void put(int tmp) {&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; rear; i++) {&lt;br /&gt;
 		if (queue[i] == tmp)&lt;br /&gt;
 			return;&lt;br /&gt;
 	}&lt;br /&gt;
 	queue[rear++] = tmp;&lt;br /&gt;
 }&lt;br /&gt;
= 코드(상자 넣기) =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
   int N, max;&lt;br /&gt;
   vector&amp;amp;lt;int&amp;amp;gt; vec;&lt;br /&gt;
   vector&amp;amp;lt;int&amp;amp;gt; num;&lt;br /&gt;
   scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;N);&lt;br /&gt;
   num.resize(N);&lt;br /&gt;
   for(int i = 0; i &amp;amp;lt; N; i++){&lt;br /&gt;
     int temp;&lt;br /&gt;
     scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;temp);&lt;br /&gt;
     vec.push_back(temp);&lt;br /&gt;
     max = 0;&lt;br /&gt;
     for(int j = 0; j &amp;amp;lt; i; j++){&lt;br /&gt;
       if(num[j] &amp;amp;gt; max &amp;amp;amp;&amp;amp;amp; vec[j] &amp;amp;lt; temp){&lt;br /&gt;
         max = num[j];&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
     num[i] = max + 1;&lt;br /&gt;
   }&lt;br /&gt;
   max = 0;&lt;br /&gt;
   for(int i = 0; i&amp;amp;lt;N; i++){&lt;br /&gt;
     if(num[i] &amp;amp;gt; max){&lt;br /&gt;
       max = num[i];&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   printf(&amp;quot;%d\n&amp;quot;, max);&lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
   &lt;br /&gt;
 int a[1001],dp[1001];&lt;br /&gt;
   &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
         int n,i,j,max=0;&lt;br /&gt;
         //입력&lt;br /&gt;
         std::cin&amp;amp;gt;&amp;amp;gt;n;&lt;br /&gt;
         for(i=0;i&amp;amp;lt;n;i++) std::cin&amp;amp;gt;&amp;amp;gt;a[i];&lt;br /&gt;
         //dp strat&lt;br /&gt;
         for(i=0;i&amp;amp;lt;n;i++)&lt;br /&gt;
         {&lt;br /&gt;
                  for(j=0;j&amp;amp;lt;i;j++)&lt;br /&gt;
                  {&lt;br /&gt;
                          if(a[j]&amp;amp;lt;a[i] &amp;amp;amp;&amp;amp;amp; dp[j]&amp;amp;gt;=dp[i]) dp[i]=dp[j]+1;&lt;br /&gt;
                  }&lt;br /&gt;
                  if(dp[i]==0) dp[i]++;&lt;br /&gt;
                 if(dp[i]&amp;amp;gt;max) max=dp[i];&lt;br /&gt;
         }&lt;br /&gt;
         //출력&lt;br /&gt;
         std::cout&amp;amp;lt;&amp;amp;lt;max&amp;amp;lt;&amp;amp;lt;&#039;\n&#039;;&lt;br /&gt;
         return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;br /&gt;
= 아이디어 =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
  * DFS와 BFS : DFS는 재귀 이용, BFS는 큐 이용&lt;br /&gt;
  * 상자 넣기 : dp[i]는 그 상자 기준 가장 많은 상자를 넣을 수 있는 가짓수입니다. 이것을 이용하여 계속 DP로 풀어나가면 됩니다.&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EA%B3%BD%EC%A0%95%ED%9D%A0&amp;diff=42058</id>
		<title>곽정흠</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EA%B3%BD%EC%A0%95%ED%9D%A0&amp;diff=42058"/>
		<updated>2016-09-21T12:54:10Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 소개 =&lt;br /&gt;
이거 참 어렵네요. 차차 채워 넣겠슴미다.&lt;br /&gt;
&lt;br /&gt;
= 방명록 =&lt;br /&gt;
&#039;&#039;&#039;호우!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 우와 갓정흠님이시다! - [[박인서]] &lt;br /&gt;
* 우와 갓정흠님이시다! - [[15이원준]]&lt;br /&gt;
* 우와 갓정흠님이시다! - [[이정재]]&lt;br /&gt;
** 우와 탈주자님이시다! - [[박인서]]&lt;br /&gt;
* 우와 갓정흠님이시다! - [[송준호]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EA%B3%BD%EC%A0%95%ED%9D%A0&amp;diff=42057</id>
		<title>곽정흠</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EA%B3%BD%EC%A0%95%ED%9D%A0&amp;diff=42057"/>
		<updated>2016-09-21T12:51:12Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=소개=&lt;br /&gt;
어렵&lt;br /&gt;
= 방명록 =&lt;br /&gt;
&#039;&#039;&#039;호우!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 우와 갓정흠님이시다! - [[박인서]] &lt;br /&gt;
* 우와 갓정흠님이시다! - [[15이원준]]&lt;br /&gt;
* 우와 갓정흠님이시다! - [[이정재]]&lt;br /&gt;
** 우와 탈주자님이시다! - [[박인서]]&lt;br /&gt;
* 우와 갓정흠님이시다! - [[송준호]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EA%B3%BD%EC%A0%95%ED%9D%A0&amp;diff=42056</id>
		<title>곽정흠</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EA%B3%BD%EC%A0%95%ED%9D%A0&amp;diff=42056"/>
		<updated>2016-09-21T12:50:03Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=소개=&lt;br /&gt;
= 방명록 =&lt;br /&gt;
&#039;&#039;&#039;호우!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 우와 갓정흠님이시다! - [[박인서]] &lt;br /&gt;
* 우와 갓정흠님이시다! - [[15이원준]]&lt;br /&gt;
* 우와 갓정흠님이시다! - [[이정재]]&lt;br /&gt;
** 우와 탈주자님이시다! - [[박인서]]&lt;br /&gt;
* 우와 갓정흠님이시다! - [[송준호]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EA%B3%BD%EC%A0%95%ED%9D%A0&amp;diff=42055</id>
		<title>곽정흠</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EA%B3%BD%EC%A0%95%ED%9D%A0&amp;diff=42055"/>
		<updated>2016-09-21T12:49:47Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 방명록 =&lt;br /&gt;
&#039;&#039;&#039;호우!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 우와 갓정흠님이시다! - [[박인서]] &lt;br /&gt;
* 우와 갓정흠님이시다! - [[15이원준]]&lt;br /&gt;
* 우와 갓정흠님이시다! - [[이정재]]&lt;br /&gt;
** 우와 탈주자님이시다! - [[박인서]]&lt;br /&gt;
* 우와 갓정흠님이시다! - [[송준호]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EA%B3%BD%EC%A0%95%ED%9D%A0&amp;diff=42054</id>
		<title>곽정흠</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EA%B3%BD%EC%A0%95%ED%9D%A0&amp;diff=42054"/>
		<updated>2016-09-21T12:47:40Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 방명록 ==&lt;br /&gt;
&#039;&#039;&#039;호우!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 우와 갓정흠님이시다! - [[박인서]] &lt;br /&gt;
* 우와 갓정흠님이시다! - [[15이원준]]&lt;br /&gt;
* 우와 갓정흠님이시다! - [[이정재]]&lt;br /&gt;
** 우와 탈주자님이시다! - [[박인서]]&lt;br /&gt;
* 우와 갓정흠님이시다! - [[송준호]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EA%B3%BD%EC%A0%95%ED%9D%A0&amp;diff=42053</id>
		<title>곽정흠</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EA%B3%BD%EC%A0%95%ED%9D%A0&amp;diff=42053"/>
		<updated>2016-09-21T12:47:32Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 방명록 =&lt;br /&gt;
&#039;&#039;&#039;호우!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 우와 갓정흠님이시다! - [[박인서]] &lt;br /&gt;
* 우와 갓정흠님이시다! - [[15이원준]]&lt;br /&gt;
* 우와 갓정흠님이시다! - [[이정재]]&lt;br /&gt;
** 우와 탈주자님이시다! - [[박인서]]&lt;br /&gt;
* 우와 갓정흠님이시다! - [[송준호]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=1R/%EC%9B%8C%EB%B0%8D%EC%97%85%EB%AC%B8%EC%A0%9C&amp;diff=26125</id>
		<title>1R/워밍업문제</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=1R/%EC%9B%8C%EB%B0%8D%EC%97%85%EB%AC%B8%EC%A0%9C&amp;diff=26125"/>
		<updated>2016-09-21T12:46:54Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 오늘의 문제 =&lt;br /&gt;
* [https://www.acmicpc.net/problem/1260|DFS와 BFS]&lt;br /&gt;
* [https://www.acmicpc.net/problem/1965|상자 넣기]&lt;br /&gt;
&lt;br /&gt;
= 참가자 =&lt;br /&gt;
* 15이원준, 박인서, [[곽정흠]]&lt;br /&gt;
&lt;br /&gt;
= 코드(DFS와 BFS) =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 void DFS(int now);&lt;br /&gt;
 &lt;br /&gt;
 int arr[1010][1010] = { 0, };&lt;br /&gt;
 int visit[1010] = { 0, };&lt;br /&gt;
 int N, M, V;&lt;br /&gt;
 int visitNum = 0;&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
 	scanf(&amp;quot;%d %d %d&amp;quot;, &amp;amp;amp;N, &amp;amp;amp;M, &amp;amp;amp;V);&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt; M; i++) {&lt;br /&gt;
 		int tmp1, tmp2;&lt;br /&gt;
 		scanf(&amp;quot;%d %d&amp;quot;, &amp;amp;amp;tmp1, &amp;amp;amp;tmp2);&lt;br /&gt;
 		arr[tmp1][tmp2] = 1;&lt;br /&gt;
 		arr[tmp2][tmp1] = 1;&lt;br /&gt;
 	}&lt;br /&gt;
 	DFS(V);&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &#039;\n&#039;;&lt;br /&gt;
 &lt;br /&gt;
 	visitNum = 0;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;=N; i++) {&lt;br /&gt;
 		visit[i] = 0;&lt;br /&gt;
 	}&lt;br /&gt;
 	queue&amp;amp;lt;int&amp;amp;gt; s;&lt;br /&gt;
 	s.push(V);&lt;br /&gt;
 	while (!s.empty() || visitNum != N) {&lt;br /&gt;
 		int now = s.front();&lt;br /&gt;
 		s.pop();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, now);&lt;br /&gt;
 		visitNum++;&lt;br /&gt;
 		visit[now] = 1;&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt;= N; i++) {&lt;br /&gt;
 			if (arr[now][i] == 1 &amp;amp;amp;&amp;amp;amp; visit[i] == 0) {&lt;br /&gt;
 				visit[i] = 1;&lt;br /&gt;
 				s.push(i);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void DFS(int now) {&lt;br /&gt;
 	printf(&amp;quot;%d &amp;quot;, now);&lt;br /&gt;
 	if (visitNum == N) {&lt;br /&gt;
 		return;&lt;br /&gt;
 	}&lt;br /&gt;
 	visitNum++;&lt;br /&gt;
 	visit[now] = 1;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;=N; i++) {&lt;br /&gt;
 		if (arr[now][i] == 1 &amp;amp;amp;&amp;amp;amp; visit[i] == 0) {&lt;br /&gt;
 			DFS(i);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;cstdio&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;algorithm&amp;amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 std::vector&amp;amp;lt;int&amp;amp;gt; a[1001];&lt;br /&gt;
 bool visit[1001] = { false, };&lt;br /&gt;
  &lt;br /&gt;
 void dfs(int s, int n) {&lt;br /&gt;
     visit[s] = true;&lt;br /&gt;
     printf(&amp;quot;%d &amp;quot;, s);&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 0; i &amp;amp;lt; a[s].size(); i++) {&lt;br /&gt;
         if (!visit[a[s][i]]) dfs(a[s][i], n);&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 void bfs(int s, int n) {&lt;br /&gt;
     std::queue&amp;amp;lt;int&amp;amp;gt; q;&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 1; i &amp;amp;lt;= n; i++)&lt;br /&gt;
         visit[i] = false;&lt;br /&gt;
     q.push(s);&lt;br /&gt;
     visit[s] = true;&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 0; !q.empty(); i++) {&lt;br /&gt;
         int qf = q.front();&lt;br /&gt;
         for (int j = 0; j &amp;amp;lt; a[qf].size(); j++) {&lt;br /&gt;
             if (!visit[a[qf][j]]) {&lt;br /&gt;
                 q.push(a[qf][j]);&lt;br /&gt;
                 visit[a[qf][j]] = true;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         printf(&amp;quot;%d &amp;quot;, q.front());&lt;br /&gt;
         q.pop();&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     int n, m, v;&lt;br /&gt;
     scanf(&amp;quot;%d %d %d&amp;quot;, &amp;amp;amp;n, &amp;amp;amp;m, &amp;amp;amp;v);&lt;br /&gt;
     for (int i = 0; i &amp;amp;lt; m; i++) {&lt;br /&gt;
         int x, y;&lt;br /&gt;
         scanf(&amp;quot;%d %d&amp;quot;, &amp;amp;amp;x, &amp;amp;amp;y);&lt;br /&gt;
         a[x].push_back(y);&lt;br /&gt;
         a[y].push_back(x);&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 1; i &amp;amp;lt;= n; i++)&lt;br /&gt;
         std::sort(a[i].begin(),a[i].end());&lt;br /&gt;
  &lt;br /&gt;
     dfs(v, n);&lt;br /&gt;
     printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
     bfs(v, n);&lt;br /&gt;
  &lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
백준에서는 런타임오류란다&lt;br /&gt;
비주얼스튜디오는 잘 되는데..&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;stdlib.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int pop();&lt;br /&gt;
 void push(int tmp);&lt;br /&gt;
 &lt;br /&gt;
 int get();&lt;br /&gt;
 void put(int tmp);&lt;br /&gt;
 &lt;br /&gt;
 int stack[100];&lt;br /&gt;
 int top, bottom;&lt;br /&gt;
 &lt;br /&gt;
 int queue[100];&lt;br /&gt;
 int front, rear;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 int main(void) {&lt;br /&gt;
 	int** graph;&lt;br /&gt;
 	int n, m, v;&lt;br /&gt;
 	int popTmp;&lt;br /&gt;
 	int getTmp;&lt;br /&gt;
 &lt;br /&gt;
 	scanf(&amp;quot;%d%d%d&amp;quot;, &amp;amp;amp;n, &amp;amp;amp;m, &amp;amp;amp;v);&lt;br /&gt;
 &lt;br /&gt;
 	graph = (int**)malloc(sizeof(int*)*(n + 1));&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 		graph[i + 1] = (int*)malloc(sizeof(int)*(n + 1));&lt;br /&gt;
 		for (int j = 0; j &amp;amp;lt; n; j++) {&lt;br /&gt;
 			graph[i + 1][j + 1] = 0;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; m; i++) {&lt;br /&gt;
 		int tmp1, tmp2;&lt;br /&gt;
 		scanf(&amp;quot;%d%d&amp;quot;, &amp;amp;amp;tmp1, &amp;amp;amp;tmp2);&lt;br /&gt;
 		graph[tmp1][tmp2] = 1;&lt;br /&gt;
 		graph[tmp2][tmp1] = 1;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	//dfs&lt;br /&gt;
 	top = -1;&lt;br /&gt;
 	bottom = 0;&lt;br /&gt;
 &lt;br /&gt;
 	push(v);&lt;br /&gt;
 	while (top != n - 2) {&lt;br /&gt;
 		int j, test;&lt;br /&gt;
 		popTmp = pop();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, popTmp);&lt;br /&gt;
 		j = popTmp;&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 			test = 0;&lt;br /&gt;
 			for (int k = 0; k &amp;amp;lt;= top; k++) {&lt;br /&gt;
 				if (stack[k] == i + 1) {&lt;br /&gt;
 					test = 1;&lt;br /&gt;
 					break;&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			if (graph[j][i + 1] == 1 &amp;amp;amp;&amp;amp;amp; test == 0) {&lt;br /&gt;
 				j = i + 1;&lt;br /&gt;
 				printf(&amp;quot;%d &amp;quot;, j);&lt;br /&gt;
 				push(j);&lt;br /&gt;
 				i = 0;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 	//bfs&lt;br /&gt;
 	front = 0;&lt;br /&gt;
 	rear = 0;&lt;br /&gt;
 &lt;br /&gt;
 	put(v);&lt;br /&gt;
 	while (front != rear) {&lt;br /&gt;
 		getTmp = get();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, getTmp);&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 			if (graph[getTmp][i + 1] == 1) {&lt;br /&gt;
 				put(i + 1);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int pop() {&lt;br /&gt;
 	return stack[top--];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void push(int tmp) {&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; top; i++) {&lt;br /&gt;
 		if (stack[i] == tmp)&lt;br /&gt;
 			return;&lt;br /&gt;
 	}&lt;br /&gt;
 	stack[++top] = tmp;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int get() {&lt;br /&gt;
 	return queue[front++];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void put(int tmp) {&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; rear; i++) {&lt;br /&gt;
 		if (queue[i] == tmp)&lt;br /&gt;
 			return;&lt;br /&gt;
 	}&lt;br /&gt;
 	queue[rear++] = tmp;&lt;br /&gt;
 }&lt;br /&gt;
= 코드(상자 넣기) =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
   int N, max;&lt;br /&gt;
   vector&amp;amp;lt;int&amp;amp;gt; vec;&lt;br /&gt;
   vector&amp;amp;lt;int&amp;amp;gt; num;&lt;br /&gt;
   scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;N);&lt;br /&gt;
   num.resize(N);&lt;br /&gt;
   for(int i = 0; i &amp;amp;lt; N; i++){&lt;br /&gt;
     int temp;&lt;br /&gt;
     scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;temp);&lt;br /&gt;
     vec.push_back(temp);&lt;br /&gt;
     max = 0;&lt;br /&gt;
     for(int j = 0; j &amp;amp;lt; i; j++){&lt;br /&gt;
       if(num[j] &amp;amp;gt; max &amp;amp;amp;&amp;amp;amp; vec[j] &amp;amp;lt; temp){&lt;br /&gt;
         max = num[j];&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
     num[i] = max + 1;&lt;br /&gt;
   }&lt;br /&gt;
   max = 0;&lt;br /&gt;
   for(int i = 0; i&amp;amp;lt;N; i++){&lt;br /&gt;
     if(num[i] &amp;amp;gt; max){&lt;br /&gt;
       max = num[i];&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   printf(&amp;quot;%d\n&amp;quot;, max);&lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
   &lt;br /&gt;
 int a[1001],dp[1001];&lt;br /&gt;
   &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
         int n,i,j,max=0;&lt;br /&gt;
         //입력&lt;br /&gt;
         std::cin&amp;amp;gt;&amp;amp;gt;n;&lt;br /&gt;
         for(i=0;i&amp;amp;lt;n;i++) std::cin&amp;amp;gt;&amp;amp;gt;a[i];&lt;br /&gt;
         //dp strat&lt;br /&gt;
         for(i=0;i&amp;amp;lt;n;i++)&lt;br /&gt;
         {&lt;br /&gt;
                  for(j=0;j&amp;amp;lt;i;j++)&lt;br /&gt;
                  {&lt;br /&gt;
                          if(a[j]&amp;amp;lt;a[i] &amp;amp;amp;&amp;amp;amp; dp[j]&amp;amp;gt;=dp[i]) dp[i]=dp[j]+1;&lt;br /&gt;
                  }&lt;br /&gt;
                  if(dp[i]==0) dp[i]++;&lt;br /&gt;
                 if(dp[i]&amp;amp;gt;max) max=dp[i];&lt;br /&gt;
         }&lt;br /&gt;
         //출력&lt;br /&gt;
         std::cout&amp;amp;lt;&amp;amp;lt;max&amp;amp;lt;&amp;amp;lt;&#039;\n&#039;;&lt;br /&gt;
         return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;br /&gt;
= 아이디어 =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
  * DFS와 BFS : DFS는 재귀 이용, BFS는 큐 이용&lt;br /&gt;
  * 상자 넣기 : dp[i]는 그 상자 기준 가장 많은 상자를 넣을 수 있는 가짓수입니다. 이것을 이용하여 계속 DP로 풀어나가면 됩니다.&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=1R/%EC%9B%8C%EB%B0%8D%EC%97%85%EB%AC%B8%EC%A0%9C&amp;diff=26124</id>
		<title>1R/워밍업문제</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=1R/%EC%9B%8C%EB%B0%8D%EC%97%85%EB%AC%B8%EC%A0%9C&amp;diff=26124"/>
		<updated>2016-09-21T12:45:56Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 오늘의 문제 =&lt;br /&gt;
* [https://www.acmicpc.net/problem/1260|DFS와 BFS]&lt;br /&gt;
* [https://www.acmicpc.net/problem/1965|상자 넣기]&lt;br /&gt;
&lt;br /&gt;
= 참가자 =&lt;br /&gt;
* 15이원준, 박인서, 곽정흠&lt;br /&gt;
&lt;br /&gt;
= 코드(DFS와 BFS) =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 void DFS(int now);&lt;br /&gt;
 &lt;br /&gt;
 int arr[1010][1010] = { 0, };&lt;br /&gt;
 int visit[1010] = { 0, };&lt;br /&gt;
 int N, M, V;&lt;br /&gt;
 int visitNum = 0;&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
 	scanf(&amp;quot;%d %d %d&amp;quot;, &amp;amp;amp;N, &amp;amp;amp;M, &amp;amp;amp;V);&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt; M; i++) {&lt;br /&gt;
 		int tmp1, tmp2;&lt;br /&gt;
 		scanf(&amp;quot;%d %d&amp;quot;, &amp;amp;amp;tmp1, &amp;amp;amp;tmp2);&lt;br /&gt;
 		arr[tmp1][tmp2] = 1;&lt;br /&gt;
 		arr[tmp2][tmp1] = 1;&lt;br /&gt;
 	}&lt;br /&gt;
 	DFS(V);&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &#039;\n&#039;;&lt;br /&gt;
 &lt;br /&gt;
 	visitNum = 0;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;=N; i++) {&lt;br /&gt;
 		visit[i] = 0;&lt;br /&gt;
 	}&lt;br /&gt;
 	queue&amp;amp;lt;int&amp;amp;gt; s;&lt;br /&gt;
 	s.push(V);&lt;br /&gt;
 	while (!s.empty() || visitNum != N) {&lt;br /&gt;
 		int now = s.front();&lt;br /&gt;
 		s.pop();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, now);&lt;br /&gt;
 		visitNum++;&lt;br /&gt;
 		visit[now] = 1;&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt;= N; i++) {&lt;br /&gt;
 			if (arr[now][i] == 1 &amp;amp;amp;&amp;amp;amp; visit[i] == 0) {&lt;br /&gt;
 				visit[i] = 1;&lt;br /&gt;
 				s.push(i);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void DFS(int now) {&lt;br /&gt;
 	printf(&amp;quot;%d &amp;quot;, now);&lt;br /&gt;
 	if (visitNum == N) {&lt;br /&gt;
 		return;&lt;br /&gt;
 	}&lt;br /&gt;
 	visitNum++;&lt;br /&gt;
 	visit[now] = 1;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;=N; i++) {&lt;br /&gt;
 		if (arr[now][i] == 1 &amp;amp;amp;&amp;amp;amp; visit[i] == 0) {&lt;br /&gt;
 			DFS(i);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;cstdio&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;algorithm&amp;amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 std::vector&amp;amp;lt;int&amp;amp;gt; a[1001];&lt;br /&gt;
 bool visit[1001] = { false, };&lt;br /&gt;
  &lt;br /&gt;
 void dfs(int s, int n) {&lt;br /&gt;
     visit[s] = true;&lt;br /&gt;
     printf(&amp;quot;%d &amp;quot;, s);&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 0; i &amp;amp;lt; a[s].size(); i++) {&lt;br /&gt;
         if (!visit[a[s][i]]) dfs(a[s][i], n);&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 void bfs(int s, int n) {&lt;br /&gt;
     std::queue&amp;amp;lt;int&amp;amp;gt; q;&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 1; i &amp;amp;lt;= n; i++)&lt;br /&gt;
         visit[i] = false;&lt;br /&gt;
     q.push(s);&lt;br /&gt;
     visit[s] = true;&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 0; !q.empty(); i++) {&lt;br /&gt;
         int qf = q.front();&lt;br /&gt;
         for (int j = 0; j &amp;amp;lt; a[qf].size(); j++) {&lt;br /&gt;
             if (!visit[a[qf][j]]) {&lt;br /&gt;
                 q.push(a[qf][j]);&lt;br /&gt;
                 visit[a[qf][j]] = true;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         printf(&amp;quot;%d &amp;quot;, q.front());&lt;br /&gt;
         q.pop();&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     int n, m, v;&lt;br /&gt;
     scanf(&amp;quot;%d %d %d&amp;quot;, &amp;amp;amp;n, &amp;amp;amp;m, &amp;amp;amp;v);&lt;br /&gt;
     for (int i = 0; i &amp;amp;lt; m; i++) {&lt;br /&gt;
         int x, y;&lt;br /&gt;
         scanf(&amp;quot;%d %d&amp;quot;, &amp;amp;amp;x, &amp;amp;amp;y);&lt;br /&gt;
         a[x].push_back(y);&lt;br /&gt;
         a[y].push_back(x);&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 1; i &amp;amp;lt;= n; i++)&lt;br /&gt;
         std::sort(a[i].begin(),a[i].end());&lt;br /&gt;
  &lt;br /&gt;
     dfs(v, n);&lt;br /&gt;
     printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
     bfs(v, n);&lt;br /&gt;
  &lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
백준에서는 런타임오류란다&lt;br /&gt;
비주얼스튜디오는 잘 되는데..&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;stdlib.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int pop();&lt;br /&gt;
 void push(int tmp);&lt;br /&gt;
 &lt;br /&gt;
 int get();&lt;br /&gt;
 void put(int tmp);&lt;br /&gt;
 &lt;br /&gt;
 int stack[100];&lt;br /&gt;
 int top, bottom;&lt;br /&gt;
 &lt;br /&gt;
 int queue[100];&lt;br /&gt;
 int front, rear;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 int main(void) {&lt;br /&gt;
 	int** graph;&lt;br /&gt;
 	int n, m, v;&lt;br /&gt;
 	int popTmp;&lt;br /&gt;
 	int getTmp;&lt;br /&gt;
 &lt;br /&gt;
 	scanf(&amp;quot;%d%d%d&amp;quot;, &amp;amp;amp;n, &amp;amp;amp;m, &amp;amp;amp;v);&lt;br /&gt;
 &lt;br /&gt;
 	graph = (int**)malloc(sizeof(int*)*(n + 1));&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 		graph[i + 1] = (int*)malloc(sizeof(int)*(n + 1));&lt;br /&gt;
 		for (int j = 0; j &amp;amp;lt; n; j++) {&lt;br /&gt;
 			graph[i + 1][j + 1] = 0;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; m; i++) {&lt;br /&gt;
 		int tmp1, tmp2;&lt;br /&gt;
 		scanf(&amp;quot;%d%d&amp;quot;, &amp;amp;amp;tmp1, &amp;amp;amp;tmp2);&lt;br /&gt;
 		graph[tmp1][tmp2] = 1;&lt;br /&gt;
 		graph[tmp2][tmp1] = 1;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	//dfs&lt;br /&gt;
 	top = -1;&lt;br /&gt;
 	bottom = 0;&lt;br /&gt;
 &lt;br /&gt;
 	push(v);&lt;br /&gt;
 	while (top != n - 2) {&lt;br /&gt;
 		int j, test;&lt;br /&gt;
 		popTmp = pop();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, popTmp);&lt;br /&gt;
 		j = popTmp;&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 			test = 0;&lt;br /&gt;
 			for (int k = 0; k &amp;amp;lt;= top; k++) {&lt;br /&gt;
 				if (stack[k] == i + 1) {&lt;br /&gt;
 					test = 1;&lt;br /&gt;
 					break;&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			if (graph[j][i + 1] == 1 &amp;amp;amp;&amp;amp;amp; test == 0) {&lt;br /&gt;
 				j = i + 1;&lt;br /&gt;
 				printf(&amp;quot;%d &amp;quot;, j);&lt;br /&gt;
 				push(j);&lt;br /&gt;
 				i = 0;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 	//bfs&lt;br /&gt;
 	front = 0;&lt;br /&gt;
 	rear = 0;&lt;br /&gt;
 &lt;br /&gt;
 	put(v);&lt;br /&gt;
 	while (front != rear) {&lt;br /&gt;
 		getTmp = get();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, getTmp);&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 			if (graph[getTmp][i + 1] == 1) {&lt;br /&gt;
 				put(i + 1);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int pop() {&lt;br /&gt;
 	return stack[top--];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void push(int tmp) {&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; top; i++) {&lt;br /&gt;
 		if (stack[i] == tmp)&lt;br /&gt;
 			return;&lt;br /&gt;
 	}&lt;br /&gt;
 	stack[++top] = tmp;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int get() {&lt;br /&gt;
 	return queue[front++];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void put(int tmp) {&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; rear; i++) {&lt;br /&gt;
 		if (queue[i] == tmp)&lt;br /&gt;
 			return;&lt;br /&gt;
 	}&lt;br /&gt;
 	queue[rear++] = tmp;&lt;br /&gt;
 }&lt;br /&gt;
= 코드(상자 넣기) =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
   int N, max;&lt;br /&gt;
   vector&amp;amp;lt;int&amp;amp;gt; vec;&lt;br /&gt;
   vector&amp;amp;lt;int&amp;amp;gt; num;&lt;br /&gt;
   scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;N);&lt;br /&gt;
   num.resize(N);&lt;br /&gt;
   for(int i = 0; i &amp;amp;lt; N; i++){&lt;br /&gt;
     int temp;&lt;br /&gt;
     scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;temp);&lt;br /&gt;
     vec.push_back(temp);&lt;br /&gt;
     max = 0;&lt;br /&gt;
     for(int j = 0; j &amp;amp;lt; i; j++){&lt;br /&gt;
       if(num[j] &amp;amp;gt; max &amp;amp;amp;&amp;amp;amp; vec[j] &amp;amp;lt; temp){&lt;br /&gt;
         max = num[j];&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
     num[i] = max + 1;&lt;br /&gt;
   }&lt;br /&gt;
   max = 0;&lt;br /&gt;
   for(int i = 0; i&amp;amp;lt;N; i++){&lt;br /&gt;
     if(num[i] &amp;amp;gt; max){&lt;br /&gt;
       max = num[i];&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   printf(&amp;quot;%d\n&amp;quot;, max);&lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
   &lt;br /&gt;
 int a[1001],dp[1001];&lt;br /&gt;
   &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
         int n,i,j,max=0;&lt;br /&gt;
         //입력&lt;br /&gt;
         std::cin&amp;amp;gt;&amp;amp;gt;n;&lt;br /&gt;
         for(i=0;i&amp;amp;lt;n;i++) std::cin&amp;amp;gt;&amp;amp;gt;a[i];&lt;br /&gt;
         //dp strat&lt;br /&gt;
         for(i=0;i&amp;amp;lt;n;i++)&lt;br /&gt;
         {&lt;br /&gt;
                  for(j=0;j&amp;amp;lt;i;j++)&lt;br /&gt;
                  {&lt;br /&gt;
                          if(a[j]&amp;amp;lt;a[i] &amp;amp;amp;&amp;amp;amp; dp[j]&amp;amp;gt;=dp[i]) dp[i]=dp[j]+1;&lt;br /&gt;
                  }&lt;br /&gt;
                  if(dp[i]==0) dp[i]++;&lt;br /&gt;
                 if(dp[i]&amp;amp;gt;max) max=dp[i];&lt;br /&gt;
         }&lt;br /&gt;
         //출력&lt;br /&gt;
         std::cout&amp;amp;lt;&amp;amp;lt;max&amp;amp;lt;&amp;amp;lt;&#039;\n&#039;;&lt;br /&gt;
         return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;br /&gt;
= 아이디어 =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
  * DFS와 BFS : DFS는 재귀 이용, BFS는 큐 이용&lt;br /&gt;
  * 상자 넣기 : dp[i]는 그 상자 기준 가장 많은 상자를 넣을 수 있는 가짓수입니다. 이것을 이용하여 계속 DP로 풀어나가면 됩니다.&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=1R/%EC%9B%8C%EB%B0%8D%EC%97%85%EB%AC%B8%EC%A0%9C&amp;diff=26123</id>
		<title>1R/워밍업문제</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=1R/%EC%9B%8C%EB%B0%8D%EC%97%85%EB%AC%B8%EC%A0%9C&amp;diff=26123"/>
		<updated>2016-09-21T12:45:38Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 오늘의 문제 =&lt;br /&gt;
* [https://www.acmicpc.net/problem/1260|DFS와 BFS]&lt;br /&gt;
* [https://www.acmicpc.net/problem/1965|상자 넣기]&lt;br /&gt;
&lt;br /&gt;
= 참가자 =&lt;br /&gt;
* 15이원준, 박인서, 곽정흠&lt;br /&gt;
&lt;br /&gt;
= 코드(DFS와 BFS) =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 void DFS(int now);&lt;br /&gt;
 &lt;br /&gt;
 int arr[1010][1010] = { 0, };&lt;br /&gt;
 int visit[1010] = { 0, };&lt;br /&gt;
 int N, M, V;&lt;br /&gt;
 int visitNum = 0;&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
 	scanf(&amp;quot;%d %d %d&amp;quot;, &amp;amp;amp;N, &amp;amp;amp;M, &amp;amp;amp;V);&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt; M; i++) {&lt;br /&gt;
 		int tmp1, tmp2;&lt;br /&gt;
 		scanf(&amp;quot;%d %d&amp;quot;, &amp;amp;amp;tmp1, &amp;amp;amp;tmp2);&lt;br /&gt;
 		arr[tmp1][tmp2] = 1;&lt;br /&gt;
 		arr[tmp2][tmp1] = 1;&lt;br /&gt;
 	}&lt;br /&gt;
 	DFS(V);&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &#039;\n&#039;;&lt;br /&gt;
 &lt;br /&gt;
 	visitNum = 0;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;=N; i++) {&lt;br /&gt;
 		visit[i] = 0;&lt;br /&gt;
 	}&lt;br /&gt;
 	queue&amp;amp;lt;int&amp;amp;gt; s;&lt;br /&gt;
 	s.push(V);&lt;br /&gt;
 	while (!s.empty() || visitNum != N) {&lt;br /&gt;
 		int now = s.front();&lt;br /&gt;
 		s.pop();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, now);&lt;br /&gt;
 		visitNum++;&lt;br /&gt;
 		visit[now] = 1;&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt;= N; i++) {&lt;br /&gt;
 			if (arr[now][i] == 1 &amp;amp;amp;&amp;amp;amp; visit[i] == 0) {&lt;br /&gt;
 				visit[i] = 1;&lt;br /&gt;
 				s.push(i);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void DFS(int now) {&lt;br /&gt;
 	printf(&amp;quot;%d &amp;quot;, now);&lt;br /&gt;
 	if (visitNum == N) {&lt;br /&gt;
 		return;&lt;br /&gt;
 	}&lt;br /&gt;
 	visitNum++;&lt;br /&gt;
 	visit[now] = 1;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;=N; i++) {&lt;br /&gt;
 		if (arr[now][i] == 1 &amp;amp;amp;&amp;amp;amp; visit[i] == 0) {&lt;br /&gt;
 			DFS(i);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;cstdio&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;algorithm&amp;amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 std::vector&amp;amp;lt;int&amp;amp;gt; a[1001];&lt;br /&gt;
 bool visit[1001] = { false, };&lt;br /&gt;
  &lt;br /&gt;
 void dfs(int s, int n) {&lt;br /&gt;
     visit[s] = true;&lt;br /&gt;
     printf(&amp;quot;%d &amp;quot;, s);&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 0; i &amp;amp;lt; a[s].size(); i++) {&lt;br /&gt;
         if (!visit[a[s][i]]) dfs(a[s][i], n);&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 void bfs(int s, int n) {&lt;br /&gt;
     std::queue&amp;amp;lt;int&amp;amp;gt; q;&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 1; i &amp;amp;lt;= n; i++)&lt;br /&gt;
         visit[i] = false;&lt;br /&gt;
     q.push(s);&lt;br /&gt;
     visit[s] = true;&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 0; !q.empty(); i++) {&lt;br /&gt;
         int qf = q.front();&lt;br /&gt;
         for (int j = 0; j &amp;amp;lt; a[qf].size(); j++) {&lt;br /&gt;
             if (!visit[a[qf][j]]) {&lt;br /&gt;
                 q.push(a[qf][j]);&lt;br /&gt;
                 visit[a[qf][j]] = true;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         printf(&amp;quot;%d &amp;quot;, q.front());&lt;br /&gt;
         q.pop();&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     int n, m, v;&lt;br /&gt;
     scanf(&amp;quot;%d %d %d&amp;quot;, &amp;amp;amp;n, &amp;amp;amp;m, &amp;amp;amp;v);&lt;br /&gt;
     for (int i = 0; i &amp;amp;lt; m; i++) {&lt;br /&gt;
         int x, y;&lt;br /&gt;
         scanf(&amp;quot;%d %d&amp;quot;, &amp;amp;amp;x, &amp;amp;amp;y);&lt;br /&gt;
         a[x].push_back(y);&lt;br /&gt;
         a[y].push_back(x);&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 1; i &amp;amp;lt;= n; i++)&lt;br /&gt;
         std::sort(a[i].begin(),a[i].end());&lt;br /&gt;
  &lt;br /&gt;
     dfs(v, n);&lt;br /&gt;
     printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
     bfs(v, n);&lt;br /&gt;
  &lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
백준에서는 런타임오류란다&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;stdlib.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int pop();&lt;br /&gt;
 void push(int tmp);&lt;br /&gt;
 &lt;br /&gt;
 int get();&lt;br /&gt;
 void put(int tmp);&lt;br /&gt;
 &lt;br /&gt;
 int stack[100];&lt;br /&gt;
 int top, bottom;&lt;br /&gt;
 &lt;br /&gt;
 int queue[100];&lt;br /&gt;
 int front, rear;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 int main(void) {&lt;br /&gt;
 	int** graph;&lt;br /&gt;
 	int n, m, v;&lt;br /&gt;
 	int popTmp;&lt;br /&gt;
 	int getTmp;&lt;br /&gt;
 &lt;br /&gt;
 	scanf(&amp;quot;%d%d%d&amp;quot;, &amp;amp;amp;n, &amp;amp;amp;m, &amp;amp;amp;v);&lt;br /&gt;
 &lt;br /&gt;
 	graph = (int**)malloc(sizeof(int*)*(n + 1));&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 		graph[i + 1] = (int*)malloc(sizeof(int)*(n + 1));&lt;br /&gt;
 		for (int j = 0; j &amp;amp;lt; n; j++) {&lt;br /&gt;
 			graph[i + 1][j + 1] = 0;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; m; i++) {&lt;br /&gt;
 		int tmp1, tmp2;&lt;br /&gt;
 		scanf(&amp;quot;%d%d&amp;quot;, &amp;amp;amp;tmp1, &amp;amp;amp;tmp2);&lt;br /&gt;
 		graph[tmp1][tmp2] = 1;&lt;br /&gt;
 		graph[tmp2][tmp1] = 1;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	//dfs&lt;br /&gt;
 	top = -1;&lt;br /&gt;
 	bottom = 0;&lt;br /&gt;
 &lt;br /&gt;
 	push(v);&lt;br /&gt;
 	while (top != n - 2) {&lt;br /&gt;
 		int j, test;&lt;br /&gt;
 		popTmp = pop();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, popTmp);&lt;br /&gt;
 		j = popTmp;&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 			test = 0;&lt;br /&gt;
 			for (int k = 0; k &amp;amp;lt;= top; k++) {&lt;br /&gt;
 				if (stack[k] == i + 1) {&lt;br /&gt;
 					test = 1;&lt;br /&gt;
 					break;&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			if (graph[j][i + 1] == 1 &amp;amp;amp;&amp;amp;amp; test == 0) {&lt;br /&gt;
 				j = i + 1;&lt;br /&gt;
 				printf(&amp;quot;%d &amp;quot;, j);&lt;br /&gt;
 				push(j);&lt;br /&gt;
 				i = 0;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 	//bfs&lt;br /&gt;
 	front = 0;&lt;br /&gt;
 	rear = 0;&lt;br /&gt;
 &lt;br /&gt;
 	put(v);&lt;br /&gt;
 	while (front != rear) {&lt;br /&gt;
 		getTmp = get();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, getTmp);&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 			if (graph[getTmp][i + 1] == 1) {&lt;br /&gt;
 				put(i + 1);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int pop() {&lt;br /&gt;
 	return stack[top--];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void push(int tmp) {&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; top; i++) {&lt;br /&gt;
 		if (stack[i] == tmp)&lt;br /&gt;
 			return;&lt;br /&gt;
 	}&lt;br /&gt;
 	stack[++top] = tmp;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int get() {&lt;br /&gt;
 	return queue[front++];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void put(int tmp) {&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; rear; i++) {&lt;br /&gt;
 		if (queue[i] == tmp)&lt;br /&gt;
 			return;&lt;br /&gt;
 	}&lt;br /&gt;
 	queue[rear++] = tmp;&lt;br /&gt;
 }&lt;br /&gt;
= 코드(상자 넣기) =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
   int N, max;&lt;br /&gt;
   vector&amp;amp;lt;int&amp;amp;gt; vec;&lt;br /&gt;
   vector&amp;amp;lt;int&amp;amp;gt; num;&lt;br /&gt;
   scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;N);&lt;br /&gt;
   num.resize(N);&lt;br /&gt;
   for(int i = 0; i &amp;amp;lt; N; i++){&lt;br /&gt;
     int temp;&lt;br /&gt;
     scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;temp);&lt;br /&gt;
     vec.push_back(temp);&lt;br /&gt;
     max = 0;&lt;br /&gt;
     for(int j = 0; j &amp;amp;lt; i; j++){&lt;br /&gt;
       if(num[j] &amp;amp;gt; max &amp;amp;amp;&amp;amp;amp; vec[j] &amp;amp;lt; temp){&lt;br /&gt;
         max = num[j];&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
     num[i] = max + 1;&lt;br /&gt;
   }&lt;br /&gt;
   max = 0;&lt;br /&gt;
   for(int i = 0; i&amp;amp;lt;N; i++){&lt;br /&gt;
     if(num[i] &amp;amp;gt; max){&lt;br /&gt;
       max = num[i];&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   printf(&amp;quot;%d\n&amp;quot;, max);&lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
   &lt;br /&gt;
 int a[1001],dp[1001];&lt;br /&gt;
   &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
         int n,i,j,max=0;&lt;br /&gt;
         //입력&lt;br /&gt;
         std::cin&amp;amp;gt;&amp;amp;gt;n;&lt;br /&gt;
         for(i=0;i&amp;amp;lt;n;i++) std::cin&amp;amp;gt;&amp;amp;gt;a[i];&lt;br /&gt;
         //dp strat&lt;br /&gt;
         for(i=0;i&amp;amp;lt;n;i++)&lt;br /&gt;
         {&lt;br /&gt;
                  for(j=0;j&amp;amp;lt;i;j++)&lt;br /&gt;
                  {&lt;br /&gt;
                          if(a[j]&amp;amp;lt;a[i] &amp;amp;amp;&amp;amp;amp; dp[j]&amp;amp;gt;=dp[i]) dp[i]=dp[j]+1;&lt;br /&gt;
                  }&lt;br /&gt;
                  if(dp[i]==0) dp[i]++;&lt;br /&gt;
                 if(dp[i]&amp;amp;gt;max) max=dp[i];&lt;br /&gt;
         }&lt;br /&gt;
         //출력&lt;br /&gt;
         std::cout&amp;amp;lt;&amp;amp;lt;max&amp;amp;lt;&amp;amp;lt;&#039;\n&#039;;&lt;br /&gt;
         return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;br /&gt;
= 아이디어 =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
  * DFS와 BFS : DFS는 재귀 이용, BFS는 큐 이용&lt;br /&gt;
  * 상자 넣기 : dp[i]는 그 상자 기준 가장 많은 상자를 넣을 수 있는 가짓수입니다. 이것을 이용하여 계속 DP로 풀어나가면 됩니다.&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=1R/%EC%9B%8C%EB%B0%8D%EC%97%85%EB%AC%B8%EC%A0%9C&amp;diff=26122</id>
		<title>1R/워밍업문제</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=1R/%EC%9B%8C%EB%B0%8D%EC%97%85%EB%AC%B8%EC%A0%9C&amp;diff=26122"/>
		<updated>2016-09-21T12:44:30Z</updated>

		<summary type="html">&lt;p&gt;124.49.27.23: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 오늘의 문제 =&lt;br /&gt;
* [https://www.acmicpc.net/problem/1260|DFS와 BFS]&lt;br /&gt;
* [https://www.acmicpc.net/problem/1965|상자 넣기]&lt;br /&gt;
&lt;br /&gt;
= 참가자 =&lt;br /&gt;
* 15이원준, 박인서, 곽정흠&lt;br /&gt;
&lt;br /&gt;
= 코드(DFS와 BFS) =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 void DFS(int now);&lt;br /&gt;
 &lt;br /&gt;
 int arr[1010][1010] = { 0, };&lt;br /&gt;
 int visit[1010] = { 0, };&lt;br /&gt;
 int N, M, V;&lt;br /&gt;
 int visitNum = 0;&lt;br /&gt;
 &lt;br /&gt;
 int main() {&lt;br /&gt;
 	scanf(&amp;quot;%d %d %d&amp;quot;, &amp;amp;amp;N, &amp;amp;amp;M, &amp;amp;amp;V);&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt; M; i++) {&lt;br /&gt;
 		int tmp1, tmp2;&lt;br /&gt;
 		scanf(&amp;quot;%d %d&amp;quot;, &amp;amp;amp;tmp1, &amp;amp;amp;tmp2);&lt;br /&gt;
 		arr[tmp1][tmp2] = 1;&lt;br /&gt;
 		arr[tmp2][tmp1] = 1;&lt;br /&gt;
 	}&lt;br /&gt;
 	DFS(V);&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &#039;\n&#039;;&lt;br /&gt;
 &lt;br /&gt;
 	visitNum = 0;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;=N; i++) {&lt;br /&gt;
 		visit[i] = 0;&lt;br /&gt;
 	}&lt;br /&gt;
 	queue&amp;amp;lt;int&amp;amp;gt; s;&lt;br /&gt;
 	s.push(V);&lt;br /&gt;
 	while (!s.empty() || visitNum != N) {&lt;br /&gt;
 		int now = s.front();&lt;br /&gt;
 		s.pop();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, now);&lt;br /&gt;
 		visitNum++;&lt;br /&gt;
 		visit[now] = 1;&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt;= N; i++) {&lt;br /&gt;
 			if (arr[now][i] == 1 &amp;amp;amp;&amp;amp;amp; visit[i] == 0) {&lt;br /&gt;
 				visit[i] = 1;&lt;br /&gt;
 				s.push(i);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void DFS(int now) {&lt;br /&gt;
 	printf(&amp;quot;%d &amp;quot;, now);&lt;br /&gt;
 	if (visitNum == N) {&lt;br /&gt;
 		return;&lt;br /&gt;
 	}&lt;br /&gt;
 	visitNum++;&lt;br /&gt;
 	visit[now] = 1;&lt;br /&gt;
 	for (int i = 0; i&amp;amp;lt;=N; i++) {&lt;br /&gt;
 		if (arr[now][i] == 1 &amp;amp;amp;&amp;amp;amp; visit[i] == 0) {&lt;br /&gt;
 			DFS(i);&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;cstdio&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;queue&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;algorithm&amp;amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 std::vector&amp;amp;lt;int&amp;amp;gt; a[1001];&lt;br /&gt;
 bool visit[1001] = { false, };&lt;br /&gt;
  &lt;br /&gt;
 void dfs(int s, int n) {&lt;br /&gt;
     visit[s] = true;&lt;br /&gt;
     printf(&amp;quot;%d &amp;quot;, s);&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 0; i &amp;amp;lt; a[s].size(); i++) {&lt;br /&gt;
         if (!visit[a[s][i]]) dfs(a[s][i], n);&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 void bfs(int s, int n) {&lt;br /&gt;
     std::queue&amp;amp;lt;int&amp;amp;gt; q;&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 1; i &amp;amp;lt;= n; i++)&lt;br /&gt;
         visit[i] = false;&lt;br /&gt;
     q.push(s);&lt;br /&gt;
     visit[s] = true;&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 0; !q.empty(); i++) {&lt;br /&gt;
         int qf = q.front();&lt;br /&gt;
         for (int j = 0; j &amp;amp;lt; a[qf].size(); j++) {&lt;br /&gt;
             if (!visit[a[qf][j]]) {&lt;br /&gt;
                 q.push(a[qf][j]);&lt;br /&gt;
                 visit[a[qf][j]] = true;&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         printf(&amp;quot;%d &amp;quot;, q.front());&lt;br /&gt;
         q.pop();&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
     int n, m, v;&lt;br /&gt;
     scanf(&amp;quot;%d %d %d&amp;quot;, &amp;amp;amp;n, &amp;amp;amp;m, &amp;amp;amp;v);&lt;br /&gt;
     for (int i = 0; i &amp;amp;lt; m; i++) {&lt;br /&gt;
         int x, y;&lt;br /&gt;
         scanf(&amp;quot;%d %d&amp;quot;, &amp;amp;amp;x, &amp;amp;amp;y);&lt;br /&gt;
         a[x].push_back(y);&lt;br /&gt;
         a[y].push_back(x);&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
     for (int i = 1; i &amp;amp;lt;= n; i++)&lt;br /&gt;
         std::sort(a[i].begin(),a[i].end());&lt;br /&gt;
  &lt;br /&gt;
     dfs(v, n);&lt;br /&gt;
     printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
     bfs(v, n);&lt;br /&gt;
  &lt;br /&gt;
     return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
 #include &amp;amp;lt;stdio.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;stdlib.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int pop();&lt;br /&gt;
 void push(int tmp);&lt;br /&gt;
 &lt;br /&gt;
 int get();&lt;br /&gt;
 void put(int tmp);&lt;br /&gt;
 &lt;br /&gt;
 int stack[100];&lt;br /&gt;
 int top, bottom;&lt;br /&gt;
 &lt;br /&gt;
 int queue[100];&lt;br /&gt;
 int front, rear;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 int main(void) {&lt;br /&gt;
 	int** graph;&lt;br /&gt;
 	int n, m, v;&lt;br /&gt;
 	int popTmp;&lt;br /&gt;
 	int getTmp;&lt;br /&gt;
 &lt;br /&gt;
 	scanf(&amp;quot;%d%d%d&amp;quot;, &amp;amp;amp;n, &amp;amp;amp;m, &amp;amp;amp;v);&lt;br /&gt;
 &lt;br /&gt;
 	graph = (int**)malloc(sizeof(int*)*(n + 1));&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 		graph[i + 1] = (int*)malloc(sizeof(int)*(n + 1));&lt;br /&gt;
 		for (int j = 0; j &amp;amp;lt; n; j++) {&lt;br /&gt;
 			graph[i + 1][j + 1] = 0;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; m; i++) {&lt;br /&gt;
 		int tmp1, tmp2;&lt;br /&gt;
 		scanf(&amp;quot;%d%d&amp;quot;, &amp;amp;amp;tmp1, &amp;amp;amp;tmp2);&lt;br /&gt;
 		graph[tmp1][tmp2] = 1;&lt;br /&gt;
 		graph[tmp2][tmp1] = 1;&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	//dfs&lt;br /&gt;
 	top = -1;&lt;br /&gt;
 	bottom = 0;&lt;br /&gt;
 &lt;br /&gt;
 	push(v);&lt;br /&gt;
 	while (top != n - 2) {&lt;br /&gt;
 		int j, test;&lt;br /&gt;
 		popTmp = pop();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, popTmp);&lt;br /&gt;
 		j = popTmp;&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 			test = 0;&lt;br /&gt;
 			for (int k = 0; k &amp;amp;lt;= top; k++) {&lt;br /&gt;
 				if (stack[k] == i + 1) {&lt;br /&gt;
 					test = 1;&lt;br /&gt;
 					break;&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 			if (graph[j][i + 1] == 1 &amp;amp;amp;&amp;amp;amp; test == 0) {&lt;br /&gt;
 				j = i + 1;&lt;br /&gt;
 				printf(&amp;quot;%d &amp;quot;, j);&lt;br /&gt;
 				push(j);&lt;br /&gt;
 				i = 0;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	printf(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
 	//bfs&lt;br /&gt;
 	front = 0;&lt;br /&gt;
 	rear = 0;&lt;br /&gt;
 &lt;br /&gt;
 	put(v);&lt;br /&gt;
 	while (front != rear) {&lt;br /&gt;
 		getTmp = get();&lt;br /&gt;
 		printf(&amp;quot;%d &amp;quot;, getTmp);&lt;br /&gt;
 		for (int i = 0; i &amp;amp;lt; n; i++) {&lt;br /&gt;
 			if (graph[getTmp][i + 1] == 1) {&lt;br /&gt;
 				put(i + 1);&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int pop() {&lt;br /&gt;
 	return stack[top--];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void push(int tmp) {&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; top; i++) {&lt;br /&gt;
 		if (stack[i] == tmp)&lt;br /&gt;
 			return;&lt;br /&gt;
 	}&lt;br /&gt;
 	stack[++top] = tmp;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int get() {&lt;br /&gt;
 	return queue[front++];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void put(int tmp) {&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; rear; i++) {&lt;br /&gt;
 		if (queue[i] == tmp)&lt;br /&gt;
 			return;&lt;br /&gt;
 	}&lt;br /&gt;
 	queue[rear++] = tmp;&lt;br /&gt;
 }&lt;br /&gt;
= 코드(상자 넣기) =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include&amp;amp;lt;vector&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
   int N, max;&lt;br /&gt;
   vector&amp;amp;lt;int&amp;amp;gt; vec;&lt;br /&gt;
   vector&amp;amp;lt;int&amp;amp;gt; num;&lt;br /&gt;
   scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;N);&lt;br /&gt;
   num.resize(N);&lt;br /&gt;
   for(int i = 0; i &amp;amp;lt; N; i++){&lt;br /&gt;
     int temp;&lt;br /&gt;
     scanf(&amp;quot;%d&amp;quot;, &amp;amp;amp;temp);&lt;br /&gt;
     vec.push_back(temp);&lt;br /&gt;
     max = 0;&lt;br /&gt;
     for(int j = 0; j &amp;amp;lt; i; j++){&lt;br /&gt;
       if(num[j] &amp;amp;gt; max &amp;amp;amp;&amp;amp;amp; vec[j] &amp;amp;lt; temp){&lt;br /&gt;
         max = num[j];&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
     num[i] = max + 1;&lt;br /&gt;
   }&lt;br /&gt;
   max = 0;&lt;br /&gt;
   for(int i = 0; i&amp;amp;lt;N; i++){&lt;br /&gt;
     if(num[i] &amp;amp;gt; max){&lt;br /&gt;
       max = num[i];&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   printf(&amp;quot;%d\n&amp;quot;, max);&lt;br /&gt;
 }&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
   &lt;br /&gt;
 int a[1001],dp[1001];&lt;br /&gt;
   &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
         int n,i,j,max=0;&lt;br /&gt;
         //입력&lt;br /&gt;
         std::cin&amp;amp;gt;&amp;amp;gt;n;&lt;br /&gt;
         for(i=0;i&amp;amp;lt;n;i++) std::cin&amp;amp;gt;&amp;amp;gt;a[i];&lt;br /&gt;
         //dp strat&lt;br /&gt;
         for(i=0;i&amp;amp;lt;n;i++)&lt;br /&gt;
         {&lt;br /&gt;
                  for(j=0;j&amp;amp;lt;i;j++)&lt;br /&gt;
                  {&lt;br /&gt;
                          if(a[j]&amp;amp;lt;a[i] &amp;amp;amp;&amp;amp;amp; dp[j]&amp;amp;gt;=dp[i]) dp[i]=dp[j]+1;&lt;br /&gt;
                  }&lt;br /&gt;
                  if(dp[i]==0) dp[i]++;&lt;br /&gt;
                 if(dp[i]&amp;amp;gt;max) max=dp[i];&lt;br /&gt;
         }&lt;br /&gt;
         //출력&lt;br /&gt;
         std::cout&amp;amp;lt;&amp;amp;lt;max&amp;amp;lt;&amp;amp;lt;&#039;\n&#039;;&lt;br /&gt;
         return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;br /&gt;
= 아이디어 =&lt;br /&gt;
== 15이원준 ==&lt;br /&gt;
== 박인서 ==&lt;br /&gt;
  * DFS와 BFS : DFS는 재귀 이용, BFS는 큐 이용&lt;br /&gt;
  * 상자 넣기 : dp[i]는 그 상자 기준 가장 많은 상자를 넣을 수 있는 가짓수입니다. 이것을 이용하여 계속 DP로 풀어나가면 됩니다.&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>124.49.27.23</name></author>
	</entry>
</feed>