<?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=141.98.9.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=141.98.9.23"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php/Special:Contributions/141.98.9.23"/>
	<updated>2026-05-14T22:33:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=1R/2016_10_07&amp;diff=26088</id>
		<title>1R/2016 10 07</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=1R/2016_10_07&amp;diff=26088"/>
		<updated>2023-01-17T01:52:21Z</updated>

		<summary type="html">&lt;p&gt;141.98.9.23: 1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 오늘의 문제 =&lt;br /&gt;
* [https://www.acmicpc.net/problem/1648|격자판 채우기]&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;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int dp[14*14][1&amp;amp;lt;&amp;amp;lt;15] = { 0, };&lt;br /&gt;
 int n, m;&lt;br /&gt;
 int search(int num, int bitma){&lt;br /&gt;
   if(dp[num][bitma]){&lt;br /&gt;
     if(dp[num][bitma] == -1){&lt;br /&gt;
       return 0;&lt;br /&gt;
     }&lt;br /&gt;
     return dp[num][bitma];&lt;br /&gt;
   }&lt;br /&gt;
   if(num == n * m - 1){&lt;br /&gt;
     if(bitma){&lt;br /&gt;
       return bitma;&lt;br /&gt;
     }&lt;br /&gt;
     dp[num][bitma] = -1;&lt;br /&gt;
     return 0;&lt;br /&gt;
   }&lt;br /&gt;
   if(bitma &amp;amp;amp; 1){&lt;br /&gt;
     dp[num][bitma] = search(num + 1, bitma &amp;amp;gt;&amp;amp;gt; 1) % 9901;&lt;br /&gt;
     if(dp[num][bitma]){&lt;br /&gt;
       return dp[num][bitma];&lt;br /&gt;
     }&lt;br /&gt;
     dp[num][bitma] = -1;&lt;br /&gt;
     return 0;&lt;br /&gt;
   }&lt;br /&gt;
   if( num % m != m - 1 &amp;amp;amp;&amp;amp;amp; !((bitma &amp;amp;gt;&amp;amp;gt; 1) &amp;amp;amp; 1)){&lt;br /&gt;
     dp[num][bitma] = search(num + 1, (bitma &amp;amp;gt;&amp;amp;gt; 1) + 1)  % 9901;&lt;br /&gt;
   }&lt;br /&gt;
   if( num &amp;amp;lt; (n-1) * m){&lt;br /&gt;
     dp[num][bitma] = (dp[num][bitma] + search(num + 1, (bitma &amp;amp;gt;&amp;amp;gt; 1) + (1&amp;amp;lt;&amp;amp;lt;(m-1))))  % 9901;&lt;br /&gt;
   }&lt;br /&gt;
   if(dp[num][bitma]){&lt;br /&gt;
     return dp[num][bitma];&lt;br /&gt;
   }&lt;br /&gt;
   dp[num][bitma] = -1;&lt;br /&gt;
   return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 int main(){&lt;br /&gt;
   cin&amp;amp;gt;&amp;amp;gt; n &amp;amp;gt;&amp;amp;gt; m;&lt;br /&gt;
   cout &amp;amp;lt;&amp;amp;lt; search(0, 0);&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;cstring&amp;amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 int d[14 * 14][1 &amp;amp;lt;&amp;amp;lt; 14];&lt;br /&gt;
 int n, m;&lt;br /&gt;
  &lt;br /&gt;
 int go(int t, int s) {&lt;br /&gt;
     if (t &amp;amp;gt;= n*m) {&lt;br /&gt;
         if(t == n*m &amp;amp;amp;&amp;amp;amp; s == 0) return 1;&lt;br /&gt;
         return 0;&lt;br /&gt;
     }&lt;br /&gt;
     if (d[t][s] &amp;amp;gt;= 0) return d[t][s] % 9901;&lt;br /&gt;
  &lt;br /&gt;
     int&amp;amp;amp; res = d[t][s];&lt;br /&gt;
     if (s % 2 == 1) res=go(t + 1, s &amp;amp;gt;&amp;amp;gt; 1);&lt;br /&gt;
     else {&lt;br /&gt;
         res = go(t + 1, (s &amp;amp;gt;&amp;amp;gt; 1) | (1 &amp;amp;lt;&amp;amp;lt; m - 1));&lt;br /&gt;
         if (s % 4 == 0 &amp;amp;amp;&amp;amp;amp; t%m != (m - 1)) res+=go(t + 2, s &amp;amp;gt;&amp;amp;gt; 2);&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
     return res % 9901;&lt;br /&gt;
 }&lt;br /&gt;
  &lt;br /&gt;
 int main() {&lt;br /&gt;
     std::cin &amp;amp;gt;&amp;amp;gt; n &amp;amp;gt;&amp;amp;gt; m;&lt;br /&gt;
     memset(d, -1, sizeof(d));&lt;br /&gt;
     std::cout &amp;amp;lt;&amp;amp;lt; go(0, 0);&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;
== 박인서 ==&lt;br /&gt;
* 비트마스크를 이용한 DP&lt;br /&gt;
&lt;br /&gt;
== 곽정흠 ==&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>141.98.9.23</name></author>
	</entry>
</feed>