楼主: ~贝贝~

[精华] “盛拓传媒杯”SQL数据库编程大赛第一期评分及所有参赛选手答题揭晓!

[复制链接]
论坛徽章:
8
SQL大赛参与纪念
日期:2011-04-13 12:08:172010广州亚运会纪念徽章:网球
日期:2011-04-15 12:06:10双黄蛋
日期:2011-06-18 15:25:27ITPUB官方微博粉丝徽章
日期:2011-06-29 13:52:50ITPUB十周年纪念徽章
日期:2011-09-27 16:34:132012新春纪念徽章
日期:2012-01-04 11:57:56优秀写手
日期:2014-10-17 06:00:14
31#
发表于 2011-3-15 17:56 | 只看该作者
n*n的你就不能直接摆出个特例来说明了吧

使用道具 举报

回复
论坛徽章:
8
玉兔
日期:2015-11-16 10:18:00铁扇公主
日期:2015-10-27 21:47:42九尾狐狸
日期:2015-12-11 22:31:15
32#
发表于 2011-3-15 17:59 | 只看该作者
第一题的题目不是n*n吧,哈哈,

这就好比你在SQL中写 <=2,那么你凭什么写 <=2呢,不就是按照题目

你 "得出推论" 知道这些值不会 > 2, 这道理不是一样的么?

使用道具 举报

回复
论坛徽章:
8
玉兔
日期:2015-11-16 10:18:00铁扇公主
日期:2015-10-27 21:47:42九尾狐狸
日期:2015-12-11 22:31:15
33#
发表于 2011-3-15 18:03 | 只看该作者
"实际上吧,我觉得,如果题目中没有“=10”就直接按照=10来做,而没有明确说明理由的,应该多扣点分。"

我倒是觉得,如果没有按照=10来做倒是应当多扣点分,理由是:

这么明显的一个结论你没有注意,那么执行速度肯定慢了

一家之言,哈哈

使用道具 举报

回复
论坛徽章:
17
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51ITPUB14周年纪念章
日期:2015-10-26 17:23:44itpub13周年纪念徽章
日期:2014-10-08 15:17:53itpub13周年纪念徽章
日期:2014-10-08 15:17:53itpub13周年纪念徽章
日期:2014-10-08 15:17:53itpub13周年纪念徽章
日期:2014-10-08 15:17:532013年新春福章
日期:2013-04-08 17:42:48ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32奥运会纪念徽章:皮划艇激流回旋
日期:2012-09-18 11:19:40奥运会纪念徽章:花样游泳
日期:2012-08-22 18:26:54
34#
发表于 2011-3-15 18:06 | 只看该作者
原帖由 lugionline 于 2011-3-15 18:03 发表
"实际上吧,我觉得,如果题目中没有“=10”就直接按照=10来做,而没有明确说明理由的,应该多扣点分。"

我倒是觉得,如果没有按照=10来做倒是应当多扣点分,理由是:

这么明显的一个结论你没有注意,那么执行速度肯定慢了

一家之言,哈哈


我们志同道合

使用道具 举报

回复
论坛徽章:
9607
土豪章
日期:2013-12-31 14:11:39土豪章
日期:2013-12-31 14:11:39阿森纳
日期:2013-06-03 17:00:31阿森纳
日期:2013-10-11 09:27:58法拉利
日期:2013-12-27 15:20:30林肯
日期:2013-12-27 15:19:09法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30
35#
发表于 2011-3-15 18:12 | 只看该作者
如果直接=10算,我的也能在1秒之内跑出来,NND

使用道具 举报

回复
论坛徽章:
9607
土豪章
日期:2013-12-31 14:11:39土豪章
日期:2013-12-31 14:11:39阿森纳
日期:2013-06-03 17:00:31阿森纳
日期:2013-10-11 09:27:58法拉利
日期:2013-12-27 15:20:30林肯
日期:2013-12-27 15:19:09法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30
36#
发表于 2011-3-15 18:13 | 只看该作者
原帖由 rollingpig 于 2011-3-15 16:13 发表
实际上吧,我觉得,如果题目中没有“=10”就直接按照=10来做,而没有明确说明理由的,应该多扣点分。

我应该能领先更多的,不过无所谓了,大家那么熟~


那我也能排名再往前些

使用道具 举报

回复
论坛徽章:
9607
土豪章
日期:2013-12-31 14:11:39土豪章
日期:2013-12-31 14:11:39阿森纳
日期:2013-06-03 17:00:31阿森纳
日期:2013-10-11 09:27:58法拉利
日期:2013-12-27 15:20:30林肯
日期:2013-12-27 15:19:09法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30
37#
发表于 2011-3-15 18:14 | 只看该作者
原帖由 lugionline 于 2011-3-15 17:49 发表


因为我手工已经摆出了一种可以放10个球的解法,从而证明了放10个的解法存在,有问题吗?

你更牛
哈哈
为啥不是手工摆出92种解法,然后直接select出来
那样速度一定是最快的

使用道具 举报

回复
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142013年新春福章
日期:2013-02-25 14:51:24
38#
发表于 2011-3-15 18:18 | 只看该作者
如果你能够把手工的解法放在“一句SQL” 里面,也可以得分阿~
原帖由 lugionline 于 2011-3-15 17:49 发表


因为我手工已经摆出了一种可以放10个球的解法,从而证明了放10个的解法存在,有问题吗?

使用道具 举报

回复
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142013年新春福章
日期:2013-02-25 14:51:24
39#
发表于 2011-3-15 18:28 | 只看该作者
考虑到大赛宗旨,其实大赛目的还是为了让大家学习或者说了解到更多"SQL的技巧和技能" ,"SQL新功能","性能优化"等~
"大赛宗旨并非考核脑筋急转弯或高深的算法考核各位puber的算法能力,而且主要以PL/SQL的技巧和技能,以及对SQL新功能的掌握能力,性能优化能力,并附带考核对数据库体系结构的综合理解。"

使用道具 举报

回复
论坛徽章:
131
2006年度最佳技术回答
日期:2007-01-24 12:58:48福特
日期:2013-10-24 13:57:422014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142013年新春福章
日期:2013-02-25 14:51:24
40#
发表于 2011-3-15 18:49 | 只看该作者
呵呵
看了你的code
你其实是“明确说明理由的”


-- 基本思路
-- 从题目中我们得知:每行最多2个棋子,那整个棋盘最多会有10个棋子。
-- 直觉认为棋盘棋子的最大数是10,让我们来做验证。
-- 第一步,列出所有符合一行中有2个棋子的可能。通过排列组合,一共有10种可能。
-- 第二步,通过多次的笛卡尔连接建立5*5的棋盘,每行2个棋子。一种有100,000种可能。
-- 第三步,排除不符合条件的数据,如果是10个棋子则每列也是2个棋子。斜线则是不多于2个。
-- 最后,排序,加序号。
-- 最后有数据符合要求,说明棋盘棋子的最大数是10是对的。
-- 在没有结果出来以前,设想如果没有数据,也就是说棋盘棋子的最大数小于10,那代码要做下面的调整:
-- 1)列出所有符合一行中最多有2个棋子的可能,一共有16种可能(包括全空),这种笛卡尔就会变成1,000,000种可能。
-- 2)每列也是最多有2个棋子,也就是小于等于的关系。
-- 3)增加一个所有列之和等于最大棋子的条件。

原帖由 yaots 于 2011-3-15 17:20 发表
而没有明确说明理由的,应该多扣点分。

说实话
我看见这句话有点不爽

使用道具 举报

回复

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

本版积分规则 发表回复

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