TA的每日心情 | 开心 2014-6-18 08:29 |
---|
签到天数: 14 天 [LV.3]偶尔看看II
滴水大师
- 积分
- 2345
|
题目
解决代码及点评
- <pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"></pre><pre class="cpp" name="code" code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179"><pre class="cpp" name="code" code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"></pre><pre code_snippet_id="91880" snippet_file_name="blog_20131210_3_5914701" class="cpp" name="code">/************************************************************************/
- /* 87. 在5条直径线的两端分别 9 3
- 放置1到10的顺序数,如右图所
- 示。但这样放置法只有一种情 8 4
- 况,两个相邻数之和等于相对
- 位置上的两个邻接数之和,即: 7 5
- 10+1=5+6 6
- 而 1+2≠6+7
- 2+3≠7+8
- 现请你变换一下这些数的位置,使任何两个相邻数之和等于相对位置上的两个邻接数之和,要求找出全部答案。
-
- 思路 定一半 则 全定 代码丑陋 但是时间上实际上要比递归快的多 恶心的一点是太硬
- */
- /************************************************************************/
- #include <stdio.h>
- #include <stdlib.h>
-
-
- void main()
- {
- for(int i=1;i<11;i++)
- {
- for (int j=1;j<11;j++)
- { if (i==j)
- continue;
- for (int k=1;k<11;k++)
- { if (k==i||k==j)
- continue;
- for (int l=1;l<11;l++)
- {
- if (l==i||l==j||l==k)
- continue;
- for (int m=1;m<11;m++)
- {
- if (m==i||m==j||m==k||m==l)
- continue;
- for(int n=1;n<11;n++)
- {
- #pragma region 条件选择
- if (n==i||n==j||n==k||n==l||n==m)
- continue;
- int arr[10]={0};
- arr[i-1]=arr[j-1]=arr[k-1]=arr[l-1]=arr[m-1]=arr[n-1]=1;
- int num=i+j-n;
- if (num>0&&num<11&&arr[num-1]==0)
- {
- arr[num-1]=1;
- }
- else
- continue;
- int num1=j+k-num;
- if (num1>0&&num1<11&&arr[num1-1]==0)
- {
- arr[num1-1]=1;
- }
- else
- continue;
- int num2=k+l-num1;
- if (num2>0&&num2<11&&arr[num2-1]==0)
- {
- arr[num2-1]=1;
- }
- else
- continue;
- int num3=l+m-num2;
- if (num3>0&&num3<11&&arr[num3-1]==0)
- {
- arr[num3-1]=1;
- printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,m,n,num,num1,num2,num3);
- }
- else
- continue;
- #pragma endregion 条件选择
-
-
- }
- }
- }
- }
- }
- }
- system("pause");
- }</pre><br><br><br></pre></pre></pre>
|
|