楼主: newkid

PUZZLEUP 2014

[复制链接]
论坛徽章:
41
生肖徽章:鼠
日期:2013-12-06 14:15:45生肖徽章:牛
日期:2013-12-06 14:15:45生肖徽章:虎
日期:2013-12-06 14:15:45生肖徽章:兔
日期:2013-12-06 14:15:45生肖徽章:龙
日期:2013-12-06 14:15:45生肖徽章:蛇
日期:2013-12-06 14:15:45生肖徽章:马
日期:2013-12-06 14:15:45生肖徽章:羊
日期:2013-12-06 14:15:45生肖徽章:猴
日期:2013-12-06 14:15:45生肖徽章:鸡
日期:2013-12-06 14:15:45
71#
发表于 2014-8-21 07:10 | 只看该作者
都已经第四题了, 竟然没看到第三题。

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
72#
 楼主| 发表于 2014-8-21 07:47 来自手机 | 只看该作者
第三题上周发了。把第四做出来给你章。

使用道具 举报

回复
论坛徽章:
41
生肖徽章:鼠
日期:2013-12-06 14:15:45生肖徽章:牛
日期:2013-12-06 14:15:45生肖徽章:虎
日期:2013-12-06 14:15:45生肖徽章:兔
日期:2013-12-06 14:15:45生肖徽章:龙
日期:2013-12-06 14:15:45生肖徽章:蛇
日期:2013-12-06 14:15:45生肖徽章:马
日期:2013-12-06 14:15:45生肖徽章:羊
日期:2013-12-06 14:15:45生肖徽章:猴
日期:2013-12-06 14:15:45生肖徽章:鸡
日期:2013-12-06 14:15:45
73#
发表于 2014-8-21 09:25 | 只看该作者
两个的出来了, 三个的跑不出来了, 想想其他方法。

AABBA        5
BBAAB        5
BAABB        5
ABBAA        5

使用道具 举报

回复
论坛徽章:
41
生肖徽章:鼠
日期:2013-12-06 14:15:45生肖徽章:牛
日期:2013-12-06 14:15:45生肖徽章:虎
日期:2013-12-06 14:15:45生肖徽章:兔
日期:2013-12-06 14:15:45生肖徽章:龙
日期:2013-12-06 14:15:45生肖徽章:蛇
日期:2013-12-06 14:15:45生肖徽章:马
日期:2013-12-06 14:15:45生肖徽章:羊
日期:2013-12-06 14:15:45生肖徽章:猴
日期:2013-12-06 14:15:45生肖徽章:鸡
日期:2013-12-06 14:15:45
74#
发表于 2014-8-21 10:00 | 只看该作者
如果所有的四字母组合(从AAAA到DDDD)必须包含在文本中

这个是不是说 ABCD 都包含, 例如, 两个的时候是 AB , BA   不包含 AA , BB  ? 因为 AA 不是所有两字母组合之一 。
如果是这样的话, 2个字母的情况是 :
ABA
BAB

3个字母的情况是:
ABCABACBA        9
CBACBCABC        9
CABCACBAC        9
BCABCBACB        9
BACBABCAB        9
ACBACABCA        9


使用道具 举报

回复
论坛徽章:
548
生肖徽章2007版:猴
日期:2008-05-16 11:28:59生肖徽章2007版:马
日期:2008-10-08 17:01:01SQL大赛参与纪念
日期:2011-04-13 12:08:17授权会员
日期:2011-06-17 16:14:53ITPUB元老
日期:2011-06-21 11:47:01ITPUB官方微博粉丝徽章
日期:2011-07-01 09:45:27ITPUB十周年纪念徽章
日期:2011-09-27 16:30:472012新春纪念徽章
日期:2012-01-04 11:51:222012新春纪念徽章
日期:2020-11-30 22:13:24海蓝宝石
日期:2012-02-20 19:24:27
75#
发表于 2014-8-21 17:04 | 只看该作者
peter1166 发表于 2014-8-21 09:25
两个的出来了, 三个的跑不出来了, 想想其他方法。

AABBA        5

两个的出来了, 三个的跑不出来了,   我的也是这样。。。

对于三个的:长度为14的A,B,C任何组合串中,最大的长度为3的不同的子串为 12

使用道具 举报

回复
论坛徽章:
41
生肖徽章:鼠
日期:2013-12-06 14:15:45生肖徽章:牛
日期:2013-12-06 14:15:45生肖徽章:虎
日期:2013-12-06 14:15:45生肖徽章:兔
日期:2013-12-06 14:15:45生肖徽章:龙
日期:2013-12-06 14:15:45生肖徽章:蛇
日期:2013-12-06 14:15:45生肖徽章:马
日期:2013-12-06 14:15:45生肖徽章:羊
日期:2013-12-06 14:15:45生肖徽章:猴
日期:2013-12-06 14:15:45生肖徽章:鸡
日期:2013-12-06 14:15:45
76#
发表于 2014-8-21 17:42 | 只看该作者
solomon_007 发表于 2014-8-21 17:04
两个的出来了, 三个的跑不出来了,   我的也是这样。。。

对于三个的:长度为14的A,B,C任何组合串中, ...

  猫猫跟我卡一个地方了。  你的 【3】14 -12  用了多长时间 ?

使用道具 举报

回复
论坛徽章:
41
生肖徽章:鼠
日期:2013-12-06 14:15:45生肖徽章:牛
日期:2013-12-06 14:15:45生肖徽章:虎
日期:2013-12-06 14:15:45生肖徽章:兔
日期:2013-12-06 14:15:45生肖徽章:龙
日期:2013-12-06 14:15:45生肖徽章:蛇
日期:2013-12-06 14:15:45生肖徽章:马
日期:2013-12-06 14:15:45生肖徽章:羊
日期:2013-12-06 14:15:45生肖徽章:猴
日期:2013-12-06 14:15:45生肖徽章:鸡
日期:2013-12-06 14:15:45
77#
发表于 2014-8-21 20:03 | 只看该作者
3 个的其中一个情况出来了, 下面尝试 4个 的。

S                                 L      STR
--------------------------------- ------ -----------------------------------------------------------------------------------------------------------
AAABAACABBABCACBACCBBBCBCCCAA     29     |AAA|AAB|ABA|BAA|AAC|ACA|CAB|ABB|BBA|BAB|ABC|BCA|CAC|ACB|CBA|BAC|ACC|CCB|CBB|BBB|BBC|BCB|CBC|BCC|CCC|CCA|CAA

使用道具 举报

回复
论坛徽章:
41
生肖徽章:鼠
日期:2013-12-06 14:15:45生肖徽章:牛
日期:2013-12-06 14:15:45生肖徽章:虎
日期:2013-12-06 14:15:45生肖徽章:兔
日期:2013-12-06 14:15:45生肖徽章:龙
日期:2013-12-06 14:15:45生肖徽章:蛇
日期:2013-12-06 14:15:45生肖徽章:马
日期:2013-12-06 14:15:45生肖徽章:羊
日期:2013-12-06 14:15:45生肖徽章:猴
日期:2013-12-06 14:15:45生肖徽章:鸡
日期:2013-12-06 14:15:45
78#
发表于 2014-8-21 20:11 | 只看该作者
本帖最后由 peter1166 于 2014-8-21 20:11 编辑

4 个的也出来结果了, 这个算不算做出来。 也能马上出来结果。


SELECT LENGTH(S) L, S ,  STR
FROM (
      SELECT 'AAA'||REPLACE(SYS_CONNECT_BY_PATH(SUBSTR(S,DECODE(LEVEL,0,2,-1)),'|'),'|','') S
             ,SYS_CONNECT_BY_PATH(S,'|') STR
      FROM (
            SELECT REPLACE(SYS_CONNECT_BY_PATH(S,','),',','') S
            FROM (
            SELECT 'A' S FROM DUAL UNION ALL
            SELECT 'B' S FROM DUAL UNION ALL
            SELECT 'C' S FROM DUAL UNION ALL
            SELECT 'D' S FROM DUAL
            )
            WHERE LEVEL = 4
            CONNECT BY  LEVEL <= 4
           )
      WHERE LEVEL = POWER(4,4)
      CONNECT BY NOCYCLE PRIOR SUBSTR(S,2) =  SUBSTR(S,1,LENGTH(S)-1) AND PRIOR S <> S
      START WITH S IN ('AAAA')  
     )
WHERE ROWNUM <= 1
/

L    S                                                                                STR
---- -------------------------------------------------------------------------------- --------------------------------------------------------------------------------
259         AAAABAAACAAADAABBAABCAABDAACBAACCAACDAADBAADCAADDABABACABADABBBABBCABBDABCBABCCABCDABDBABDCABDDACACADACBBACBCACBDACCBACCCACCDACDBACDCACDDADADBBADBCADBDADCBADCCADCDADDBADDCADDDBBBBCBBBDBBCCBBCDBBDCBBDDBCBCBDBCCCBCCDBCDCBCDDBDBDCCBDCDBDDCBDDDCCCCDCCDDCDCDDDDAAA        |AAAA|AAAB|AABA|ABAA|BAAA|AAAC|AACA|ACAA|CAAA|AAAD|AADA|ADAA|DAAB|AABB|ABBA|BBAA|BAAB|AABC|ABCA|BCAA|CAAB|AABD|ABDA|BDAA|DAAC|AACB|ACBA|CBAA|BAAC|AACC|ACCA|CCAA|CAAC|AACD|ACDA|CDAA|DAAD|AADB|ADBA|DBAA|BAAD|AADC|ADCA|DCAA|CAAD|AADD|ADDA|DDAB|DABA|ABAB|BABA|ABAC|BACA|ACAB|CABA|ABAD|BADA|ADAB|DABB|ABBB|BBBA|BBAB|BABB|ABBC|BBCA|BCAB|CABB|ABBD|BBDA|BDAB|DABC|ABCB|BCBA|CBAB|BABC|ABCC|BCCA|CCAB|CABC|ABCD|BCDA|CDAB|DABD|ABDB|BDBA|DBAB|BABD|ABDC|BDCA|DCAB|CABD|ABDD|BDDA|DDAC|DACA|ACAC|CACA|ACAD|CADA|ADAC|DACB|ACBB|CBBA|BBAC|BACB|ACBC|CBCA|BCAC|CACB|ACBD|CBDA|BDAC|DACC|ACCB|CCBA|CBAC|BACC|ACCC|CCCA|CCAC|CACC|ACCD|CCDA|CDAC|DACD|ACDB|CDBA|DBAC|BACD|ACDC|CDCA|DCAC|CACD|ACDD|CDDA|DDAD|DADA|ADAD|DADB|ADBB|DBBA|BBAD|BADB|ADBC|DBCA|BCAD|CADB|ADBD|DBDA|BDAD|DADC|ADCB|DCBA|CBAD|BADC|ADCC|DCCA|CCAD|CADC|ADCD|DCDA|CDAD|DADD|ADDB|DDBA|DBAD|BADD|ADDC|DDCA|DCAD|CADD|ADDD|DDDB|DDBB|DBBB|BBBB|BBBC|BBCB|BCBB|CBBB|BBBD|BBDB|BDBB|DBBC|BBCC|BCCB|CCBB|CBBC|BBCD|BCDB|CDBB|DBBD|BBDC|BDCB|DCBB|CBBD|BBDD|BDDB|DDBC|DBCB|BCBC|CBCB|BCBD|CBDB|BDBC|DBCC|BCCC|CCCB|CCBC|CBCC|BCCD|CCDB|CDBC|DBCD|BCDC|CDCB|DCBC|CBCD|BCDD|CDDB|DDBD|DBDB|BDBD|DBDC|BDCC|DCCB|CCBD|CBDC|BDCD|DCDB|CDBD|DBDD|BDDC|DDCB|DCBD|CBDD|BDDD|DDDC|DDCC|DCCC|CCCC|CCCD|CCDC|CDCC|DCCD|CCDD|CDDC|DDCD|DCDC|CDCD|DCDD|CDDD|DDDD|DDDA|DDAA|DAAA

使用道具 举报

回复
论坛徽章:
41
生肖徽章:鼠
日期:2013-12-06 14:15:45生肖徽章:牛
日期:2013-12-06 14:15:45生肖徽章:虎
日期:2013-12-06 14:15:45生肖徽章:兔
日期:2013-12-06 14:15:45生肖徽章:龙
日期:2013-12-06 14:15:45生肖徽章:蛇
日期:2013-12-06 14:15:45生肖徽章:马
日期:2013-12-06 14:15:45生肖徽章:羊
日期:2013-12-06 14:15:45生肖徽章:猴
日期:2013-12-06 14:15:45生肖徽章:鸡
日期:2013-12-06 14:15:45
79#
发表于 2014-8-21 20:16 | 只看该作者
newkid 发表于 2014-8-21 07:47
第三题上周发了。把第四做出来给你章。

想要个路虎, 有徽章有动力 。  

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
80#
 楼主| 发表于 2014-8-21 21:25 | 只看该作者
陆虎转给你了!
我从没考虑过CONNECT BY,谁知道它这么给力?由此可推测内部是深度优先的。

我的回溯法代码如下:
DECLARE
  v_str VARCHAR2(300);
  v_n NUMBER :=4;
  v_target NUMBER:= POWER(v_n,v_n)+v_n-1;
  v_try NUMBER :=0;
  v_backtrace BOOLEAN := TRUE;
BEGIN
  v_str := LPAD('1',v_n,'1');
  WHILE LENGTH(v_str)<v_target LOOP
        v_backtrace := TRUE;
        FOR i IN v_try+1 .. v_n LOOP
            IF INSTR(v_str,SUBSTR(v_str,-v_n+1)||i)=0 THEN
               v_backtrace := FALSE;
               v_str := v_str||i;
               EXIT;
            END IF;
        END LOOP;
        IF v_backtrace THEN
           v_try := TO_NUMBER(SUBSTR(v_str,-1));
           v_str := SUBSTR(v_str,1,LENGTH(v_str)-1);
        ELSE
           v_try := 0;
        END IF;
  END LOOP;
  DBMS_OUTPUT.PUT_LINE(TRANSLATE(v_str,'1234','ABCD'));
END;
/

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表