当前位置: 代码迷 >> C语言 >> 悬赏千金求一算法
  详细解决方案

悬赏千金求一算法

热度:284   发布时间:2006-05-20 18:16:00.0
悬赏千金求一算法

这个题本来发在数据结构版面, 我也做出来了, 但我觉得有点投机取巧, 不知各位高手有没有什么好方法
题目如下
用c语言排列数据
第一列:
看一个排数列
1 1 2 2 3 3
然后排成结果是:
3 1 2 1 3 2

第二列:
看第二列
1 1 2 2 3 3 4 4
然后排成结果是:
4 1 3 1 2 4 3 2

其规则是在两个"1"中夹着一个数,两个“2”中夹着两个数,两个“3”中夹着三个数,两个“4”中夹着四个数。
即对照第二列:
“1”中是 1 3 1
“2”中是 2 4 3 2
“3”中是 3 1 2 4 3
“4”中是 4 1 3 1 2 4

最后求数列
1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 按以上的规则排列,得出结果是???

相关帖子连接
http://www.bc-cn.net/bbs/dispbbs.asp?boardID=179&ID=65777&page=1


7天内结帖, 总金额1000g

[此贴子已经被作者于2006-5-20 19:03:00编辑过]

搜索更多相关的解决方案: 算法  千金  悬赏  

----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
楼主,也许您该出万金。。。。。。
这道题,晚上我是想不出来了,回去再想想,
----------------解决方案--------------------------------------------------------

万金,我基本上不灌水,哪有那么多钱啊.......
这题答案是2 3 8 2 7 3 6 1 5 1 4 8 7 6 5 4
但是要找规律, 好象很困难,楼顶的连接里面有我的方法,但只是方法而已,很难应用到程序上
----------------解决方案--------------------------------------------------------
这个题用指针做做看 也许可以做出来的吧!

我是菜蛋 呵呵 提个建议

至于怎么做 还的好好想想
----------------解决方案--------------------------------------------------------

你只要算法对吧...哈哈..

本人冒着生命危险.经过N久时间的努力..终于小有成就!

超笨算法..穷举法..哈哈..

事实证明..程序是绝对可以实现的..

只是在于方法的简洁..

我想 老K,feng 等各位斑竹 一定有更好的方法..期待中...

下面是代码:

main()
{
int m[6]={1,1,2,2,3,3},n[6];

int x,y,z,a,b,c,i,j=0,k;
for(x=0;x<6;x++)
for (y=0;y<6;y++)
for (z=0;z<6;z++)
for (a=0;a<6;a++)
for (b=0;b<6;b++)
for (c=0;c<6;c++)
{ if(x!=y&&x!=z&&x!=a&&x!=b&&x!=c&&y!=z&&y!=a&&y!=b&&y!=c&&z!=a&&z!=b&&z!=c&&a!=b&&a!=c&&b!=c)
{for(i=0;i<6;i++)
n[i]=0;
n[0]=m[x];
n[1]=m[y];
n[2]=m[z];
n[3]=m[a];
n[4]=m[b];
n[5]=m[c];
j=0;
for(i=0;i<6;i++)
{ k=i+1+n[i];
if(k>=6) break;
if(n[k]==n[i])
j++;
if(j==3)
{for(i=0;i<6;i++)
printf("%d",n[i]);
printf("\n");
getch();
return;
}

}

}
}

}

先用 112233 做例子.当然 到8也能做出来..只是相当的麻烦.
如果 穷举法能改的简洁.此程序也就能相当简洁..
不过..你只要方法嘛..嘿嘿


----------------解决方案--------------------------------------------------------
以下是引用starrysky在2006-5-20 20:59:00的发言:
这题答案是2 3 8 2 7 3 6 1 5 1 4 8 7 6 5 4

到8的答案肯定不会就这一个..
我上面的程序改改的话可以全部输出..
我懒.所以就输出一个了.


----------------解决方案--------------------------------------------------------
我说要的是好方法啊
我就是不想要超苯的穷举法才开这个帖子的, 稍微化简一步也好啊
不过, 辛苦了啊

----------------解决方案--------------------------------------------------------

但是要找规律, 好象很困难,楼顶的连接里面有我的方法,但只是方法而已,很难应用到程序上

汗...你说的应用程序很难..我以为....

早知道白费就不写啦..

奖金也没有~~

哈哈..那你等斑竹们来帮你搞搞吧...


----------------解决方案--------------------------------------------------------
奖金?
如果你要我也可以给你些
我这个人没什么金钱观念,白送也可以,结帖的时候一起发吧,
----------------解决方案--------------------------------------------------------
  相关解决方案