`
helloyesyes
  • 浏览: 1295716 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

SQL数据库编程大赛(第一期)

阅读更多

本期题目:5X5方格棋盘难题

在5X5的方格棋盘中(如图),每行、列、斜线(斜线不仅仅包括对角线)最多可以放两个球,如何摆放才能放置最多的球,这样的摆法总共有几种?输出所有的摆法。
要求:用一句SQL实现。
输出格式:从方格棋盘第一行至第5行,每行从第一列到第5列依次输出,0表示不放球,1表示放球。例如:1001000000000000000000000。一行输出一个行号和一个解,按解所在的列字符串顺序从大到小排序。

数据库平台:适用Oracle、MS SQL Sever,版本(Oracle推荐10gr2(包含)以上版本、MS SQL Sever推荐2008版本)

原文见:http://www.itpub.net/thread-1400067-1-1.html

参赛者答案:http://www.itpub.net/thread-1407072-1-1.html

我提交的答案:

解题思路:

1、先将每行可以放2个棋子的排列组合全部列出,用union all生成记录集。

2、用笛卡尔连接5个表,生成所有行满足要求的排列组合(第行2个棋子)。

3、去除列和斜边不满足要求的记录。

评委意见:

思路和代码简明,结果排序正确,性能良好,写法直截了当,但未说明最大值=10的依据。既然已经预设了每行各有两个球,可以推断每列有且仅有两个球,下面的列判断可以改进为=2而不是<=2。

个人分析:

1、每行都肯定有2个棋子的假定是比较武断的,扣分是应该的,除非自己先用算法或数学方法证明(应该可以证明,但我还不会)。

2、枚举每行都有2个棋子的代码比较难看,扩展性不好,可以改进(第二期改进了)。

3、用笛卡尔连接5个表,假如有行数不是5则需要修改SQL,扩展性不好。

4、SQL整体性能不错,相对其他人的代码简单易懂。

5、没有注释,主要原因是自己认为代码逻辑较简单,评委肯定能看懂,最后还是被扣分了。

由于以上原因最后得分很低,我最喜欢是第3名(TK)的答题,大家有兴趣可以看看。

分享到:
评论

相关推荐

    第一届POLARDB数据库性能大赛-初赛第5名(JAVA)-复赛第7名(CPP).zip

    标题和描述提及的是"第一届POLARDB数据库性能大赛",这是一个针对阿里云POLARDB数据库性能的竞技活动。参赛者通过编写JAVA和CPP代码来优化数据库性能,初赛中以JAVA实现获得了第5名,复赛阶段转用CPP实现了第7名的...

    第一届PolarDB数据库性能大赛代码。Java语言实现.zip

    【标题】中的“第一届PolarDB数据库性能大赛代码”表明这是一个关于数据库性能优化的比赛项目,使用的编程语言是Java。PolarDB是阿里巴巴集团推出的一种高性能、高可用、云原生的分布式数据库产品,旨在为企业提供大...

    SQL争霸赛试题及答案

    第三份文档"SQL争霸赛决赛试题.doc"与第一份文档相似,可能是决赛试题的详细说明,可能包含更复杂的问题或更高级的SQL概念,例如触发器、存储过程、视图或者索引的优化。决赛通常会提升难度,测试参赛者的综合能力和...

    自己做的一个进销存系统开源用的是SQL数据库-易语言

    标题中的“自己做的一个进销存系统开源用的是SQL数据库-易语言”表明这是一个使用易语言编程开发的,基于SQL数据库的进销存管理系统,并且该系统已经开源。进销存系统是企业管理的重要组成部分,主要负责跟踪商品的...

    VB编程使用相关材料

    根据给定文件的信息来看,这份材料与VB编程、数据库、SQL等内容并无直接关联,主要涉及的是第十七届全国创新英语大赛决赛的相关事项说明。鉴于此,我们无法从中直接提取关于VB编程、数据库或SQL的具体知识点。然而,...

    第六届全国信息技术应用水平(ITAT)大赛复赛试题

    ITAT大赛复赛通常涵盖了计算机基础知识、编程、网络技术、数据库管理、多媒体制作等多个方面的内容,对于参赛者来说,这是一次全面检验自己信息技术素养的机会。 在提供的压缩包文件中,有两个子文件,分别命名为...

    第八届蓝桥杯大赛个人赛省赛(软件类)真题

    【第八届蓝桥杯大赛个人赛省赛(软件类)真题】是针对计算机编程技能的一项竞赛,旨在考察参赛者的编程能力、算法理解和问题解决技巧。蓝桥杯比赛通常涵盖C/C++、Java、Python等主流编程语言,以及数据结构、算法...

    【GIS学习资料】第9届全国大学生 GIS 技能大赛下午试题详解

    在第9届全国大学生GIS技能大赛中,下午的试题可能涵盖了GIS技术的多个核心领域,包括空间数据处理、地图制图、空间分析、数据库管理以及GIS应用开发等。 1. **空间数据处理**:这部分可能涉及到矢量数据的编辑和...

    19届江西省电脑大赛题库

    【标题】"19届江西省电脑大赛题库"是一个针对信息技术领域的竞赛资料集合,它涵盖了江西省第19届电脑大赛的全部试题。这样的资源对于参赛者或是对信息技术感兴趣的学习者来说,是提升技能、了解比赛趋势的重要参考...

    全国ITAT大赛历届java试题汇总

    Java作为一种广泛应用于企业级开发、移动应用(尤其是Android)以及大数据处理等领域的编程语言,其在ITAT大赛中的地位不言而喻。 在历届ITAT大赛中,Java试题的设计涵盖了基础语法、面向对象编程、异常处理、集合...

    第六届蓝桥杯大赛个人赛决赛(软件类)真题.zip

    "蓝桥杯大赛"是一项备受瞩目的全国性编程竞赛,旨在提升大学生和青少年的软件及信息科学技术能力。作为第六届赛事的个人赛决赛,其试题无疑涵盖了广泛的IT知识领域,包括但不限于算法设计、数据结构、软件工程、操作...

    第十五届蓝桥杯大赛知识点大纲

    以下是对第十五届蓝桥杯大赛知识点大纲的详细解析: 一、编程语言: 1. C/C++:这是基础语言,要求掌握基本语法、指针操作、内存管理以及STL(Standard Template Library)的使用。 2. Java:了解面向对象编程,...

    ITAT第六届全国信息技术应用水平大赛-B卷_复赛

    4. **数据库管理**:SQL语言、关系型数据库理论、数据库设计与优化、数据备份与恢复等。 5. **软件应用**:Office办公软件高级应用、图像处理软件(如Photoshop)、视频编辑软件等。 6. **信息安全**:密码学基础、...

    第44届世界技能大赛广州选拔赛商务软件解决方案项目技术文件.pdf

    【商务软件解决方案项目】是第44届世界技能大赛广州选拔赛中的一个重要竞赛项目,旨在考核参赛者在软件开发领域的专业技能,特别是针对商务环境的软件解决方案设计与实施能力。项目涉及的技术范围广泛,包括软件分析...

    -c#数据库系统心得体会.doc

    因为用面向对象的语言做特 效,这还是第一次。下课之后我把那段我们不了解的语言写的特效代码发到了VFP论坛上 请人帮忙解释,最后我们完全理解了那段代码的意思。 这次课程设计我们克服了炎热的天气(学校机房之前没...

    第六届蓝桥杯大赛个人赛(软件类)校内选拔题目

    "蓝桥杯"大赛是一项旨在推动...总之,"第六届蓝桥杯大赛个人赛(软件类)"不仅是一场技术的较量,更是一次全面展示个人编程能力和解决问题智慧的舞台。对于每一位参赛者来说,这既是一次挑战,也是一次自我提升的机会。

    第六届蓝桥杯大赛个人赛省赛(软件类)真题.zip

    "第六届蓝桥杯大赛个人赛省赛(软件类)真题.zip"是一个压缩包文件,里面包含了参加第六届蓝桥杯大赛个人赛省赛(软件类)的选手们所需要面对的实际试题。蓝桥杯大赛是一项专注于计算机软件和电子设计的竞赛,旨在...

    第三届全国软件大赛决赛真题

    【第三届全国软件大赛决赛真题】是一场针对中国软件技术人才的重要竞赛,旨在检验和提升参赛者的编程技能、算法理解及问题解决能力。蓝桥杯作为该赛事的标签,表明了这一比赛与“蓝桥”这个知名的编程竞赛平台密切...

    第十五届蓝桥杯大赛软件赛知识点大纲.pdf

    根据给定文件的信息,我们可以对第十五届蓝桥杯大赛软件赛的知识点进行详细解读。蓝桥杯是一项面向全国高校学生的计算机程序设计竞赛,旨在通过比赛的形式促进学生计算机能力的提升,激发其学习兴趣和创新能力。下面...

    2014年第五届蓝桥杯大赛软件类JAVA A组全国总决赛真题

    【标题】2014年第五届蓝桥杯大赛软件类JAVA A组全国总决赛真题,是针对Java编程语言的一次专业竞赛,旨在检验参赛者的Java技术能力,涵盖基础语法、数据结构、算法设计等多个方面。这是一场面向全国高校学生的比赛,...

Global site tag (gtag.js) - Google Analytics