楼主: 〇〇

[SQL] puzzleup 2016

[复制链接]
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
231#
 楼主| 发表于 2016-11-17 08:33 | 只看该作者
lugionline 发表于 2016-11-17 08:24
Out[6]= 98498421

每人做前面的题? 看来Oracle 是没落了

难题又不有趣,没人做很正常

使用道具 举报

回复
论坛徽章:
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
232#
发表于 2016-11-17 08:40 | 只看该作者
lugionline 发表于 2016-11-17 08:24
Out[6]= 98498421

每人做前面的题? 看来Oracle 是没落了

前一题没什么难的,我一分钟就写好了,等着加菲猫出来贴SQL,结果等半天他也没来。

WITH N as (
SELECT LEVEL N,POWER(2,LEVEL-1) BIT FROM DUAL CONNECT BY LEVEL<=100
)
SELECT SUM(min_n),COUNT(*) FROM (
SELECT DISTINCT
       n1.bit+n2.bit+n3.bit+n4.bit+POWER(2,100-n1.n-n2.n-n3.n-n4.n-1) bit
      ,LEAST(100-n1.n-n2.n-n3.n-n4.n,n1.n) min_n
  FROM n n1,n n2,n n3,n n4
WHERE n1.n<n2.n AND n2.n<n3.n AND n3.n<n4.n
      AND n1.n+n2.n+n3.n+n4.n<100
      AND 100-n1.n-n2.n-n3.n-n4.n NOT IN (n1.n,n2.n,n3.n,n4.n)
);

SUM(MIN_N)   COUNT(*)
---------- ----------
    106679      25337

Elapsed: 00:00:02.26

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
233#
发表于 2016-11-17 09:06 | 只看该作者
lugionline 发表于 2016-11-8 08:44
其实就是一句SQL语句   MMA 有一个极大的知识数据库,图形数据只是其中很小的一个

直径为4的图:

我很好奇是是干什么工作的,研究说的?

使用道具 举报

回复
论坛徽章:
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
234#
发表于 2016-11-17 11:16 | 只看该作者
newkid 发表于 2016-11-17 08:40
前一题没什么难的,我一分钟就写好了,等着加菲猫出来贴SQL,结果等半天他也没来。

WITH N as (

我那天还真写了,但题目说要最简分数比,我还用GCD最大公约数函数测了一下这两个数,最大
公约数为1,我没有贴出来。。。

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
235#
 楼主| 发表于 2016-11-23 19:15 | 只看该作者
No: 18       November 23, 2016  



CHESS CODES

CHESS CODES

Sixty four chess notation codes from a1 to h8 are placed randomly on each square of a standard 8x8 chessboard. Your task is to put the codes in the correct order as given in the diagram. In each step you can take one code from a white square and one code from a black square and exchange them.

What is the minimum number of steps that is sufficient to obtain the correct order from all possible initial positions?

64格中放打乱的a1-h8坐标,每步从黑白格中各选一个交换,问所有原始位置得到一个正确顺序至少几步

使用道具 举报

回复
论坛徽章:
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
236#
发表于 2016-11-24 03:42 | 只看该作者
newkid 发表于 2016-11-24 03:15
N个格子N-1步肯定可以,是不是最小就不知道了。

N个格子N步肯定可以,是不是最小就不知道了。

使用道具 举报

回复
论坛徽章:
8
玉兔
日期:2015-11-16 10:18:00铁扇公主
日期:2015-10-27 21:47:42九尾狐狸
日期:2015-12-11 22:31:15
237#
发表于 2016-11-25 10:31 | 只看该作者
newkid 发表于 2016-11-24 03:42
N个格子N步肯定可以,是不是最小就不知道了。

N 步显然不够,这题做不出来,我猜是 79

N = 8 的时候 (6 3 0 1 2 7 4 5) 需要9步才可以
N = 11 的时候 (2 9 0 1 6 3 4 5 10 7 8) 至少需要13步


使用道具 举报

回复
论坛徽章:
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
238#
发表于 2016-11-25 23:46 | 只看该作者
lugionline 发表于 2016-11-25 10:31
N 步显然不够,这题做不出来,我猜是 79

N = 8 的时候 (6 3 0 1 2 7 4 5) 需要9步才可以

你这N=8是在3X3棋盘上?N=11是在4X4上?
如果N一定要整个棋盘(平方数)会怎么样?

使用道具 举报

回复
论坛徽章:
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
239#
发表于 2016-11-26 01:49 | 只看该作者
我知道79怎么算出来的了:64/4+64-1=79

依次类推4X4的应该是 16/4+16-1=19

下面这个是不是要19步:
2  9  0  1
6  3  4  5
10  7  8 11
14 15 12 13

使用道具 举报

回复
论坛徽章:
8
玉兔
日期:2015-11-16 10:18:00铁扇公主
日期:2015-10-27 21:47:42九尾狐狸
日期:2015-12-11 22:31:15
240#
发表于 2016-11-26 08:35 | 只看该作者
本帖最后由 lugionline 于 2016-11-26 08:44 编辑

在不在棋盘上不重要,你可以把所有单元排成一排,这是等价的,

我算不到16,但是算了1-11的结果是

0, 1, 3, 4, 5, 6, 8, 9, 10, 11, 13

然后我就猜数列大概是

In[7]:= Table[Floor[(k + 1)/4] + k - 1, {k, 1, 64}]

Out[7]= {0, 1, 3, 4, 5, 6, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21, 23, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 45, 46, 48, 49, 50, 51, 53, 54, 55, 56, 58, 59, 60, 61, 63, 64, 65, 66, 68, 69, 70, 71, 73, 74, 75, 76, 78, 79}

补充:看这个规律大概是棋盘扩大一倍就需要额外的一步来调整奇偶性

使用道具 举报

回复

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

本版积分规则 发表回复

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