1001 Beautiful Palindrome Number

枚举回文数字前半部分,然后判断该数字是否满足,复杂度为O(sqrt(n))!

1002 Recovery Sequence 

本题的核心在于求出约瑟夫环出队序列,如果直接暴力的话复杂度约为O(N*N)将会超时。
这里可以使用 树状数组或者线段树或者SBt等数据结构 来优化
根据本次出队位置和剩余人数的数量,可以算出下次出队的位置,从而使用数据结构来查询其真实标号。
对于每组样例的复杂度根据不同的数据结构为 O(nlgn)或O(nlgnlgn)

1003 五子棋


这题需要一点思维和模拟。如果单纯的判断的话,情况会很多。

比如有些坑人的数据:

...............
...............
...............
.......@.......
......@........
.....@.........
....@XXXXX.....
...............
...............
...............
...............
...............
...............
...............
............... ...............
...............
...............
...............
...............
...............
...............
.....X..@......
......X@.......
......@X.......
.....@..X......
....@....X.....
...............
...............
............... ...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
............... ...............
...............
...............
...............
...............
...............
...............
...............
.......X.......
...............
...............
...............
...............
...............
............... ...............
...............
...............
...............
...............
...............
...............
...............
.......@.......
...............
...............
...............
...............
...............
............... ...............
...............
...............
...............
...............
...............
...............
.......@@@.....
.......XXXXX...
...............
...............
...............
...............
...............
............... ...............
...............
...............
...............
...............
...............
........X......
.......X.......
......X@@@@@...
.....XX........
...............
...............
...............
...............
............... ...............
...............
...............
...............
...............
........@......
......X.@X.....
......XX@@.....
......XX@......
.....X@@@X.....
.....@X.X......
...............
...............
...............
............... ...............
...............
...............
...............
...............
........@......
......X.@X.....
......XX@@.....
......XX@......
.....X@@@X.....
.....@X........
...............
...............
...............
............... ...............
...............
...............
...............
...............
......X.X......
......X.@X.....
......XX@@.....
....X@XX@X.....
.....X@@@X.....
.....@X@X......
........@......
.........@.....
..........@....
...........@... ...............
...............
..............@
.............@.
..........X.@X.
...........@X..
..........@X...
........X@X....
.......X@......
......X@.......
......@X.......
.....@X........
...............
...............
............... ...............
...............
...............
...............
...............
.........X.....
.........X.....
.........X.....
..@@@@@@@.@@@@@
......X..X.....
.......XXXX....
.......X.X.....
.......X.......
...............
............... ...........@@@@
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
..........XXXXX X..............
.X.............
..X............
...X...........
....X..........
.....X..@......
......X.@@.....
.......X@@.....
...@...@X@.....
.........@.....
...............
...............
...............
...............
............... .....@@XXXXXXXX
.....@@....@@@X
.....@.....@..X
.....@.....@..X
...........@..X
...............
...............
...............
...............
...............
...............
...............
...............
...............
............... ...............
...............
...............
....@XXXXX.....
....@..........
......@@.......
....X..@.......
.....X..@......
....@.X..@.....
.......X.......
........X..@...
...............
...............
...............
............... ...........@@@@
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
...............
..........XXXXX XXXX@@@@XXX@@@@
@@@@XXXX@@@@XXX
XXX@@@X@@@XXXX@
@@@@XXXX@@@@XX@
...............
...............
...............
...............
...............
....@@@@XXX....
...XXXX..@@....
...............
...............
...............
..........XXXX. .........X.....
........X......
.......X.......
......X.@......
.....X@.@......
....X@@.@......
...X.@..@......
....X@....@....
.....X.........
.....@X........
.....@.X.......
........X......
.........X.....
...............
............... ...............
...............
.......X.......
......X.@......
.X...X@.@......
..X.X@@.@......
...X.@..@......
..X.X@....@....
.X...X.........
.....@X........
.....@.X.......
...............
...............
...............
...............

数据

 black
wrong state
continue
continue
wrong state
wrong state
white
wrong state
white
white
wrong state
wrong state
black
wrong state
wrong state
wrong state
black
continue
wrong state
black

数据答案

总之,纯判断很麻烦。

这题采用一种暴力加模拟的方法会比较有效。

首先只有白子个数等于黑子个数,或者黑子个数多一个时,才可能为一种合法状态。

当白子个数等于黑子个数时,说明最后一个落子的是白子。  那么枚举棋盘上所有白子,把这个白子移出。 然后在这种状态下,只需要判断黑、白子是否有五个相连,如果有五个相连的,那么说明状态不合法。 如果没有五个子相连那么说明状态是合法的, 然后再把白子补回去判断白子是否赢. 如果白子也没有五个相连的那么就是未分出胜负。

同理当黑子多出一个的时候。

1004 丁丁历险记

这题解法有多种,最明显的方法是在A里面枚举所有点,找到A+B的最短路,然后选择一个最小的。 如果没有路径,输出No。 这题我很是仁慈,数据只开到200,所以100*200*200的dij ,200*200*200的floyd都是可以过的

比较快速的解法是从A+B进行一次最短路,找到最近的一个A中的点。  把A类点缩成一个点也行。

因为这题路径长度只有1,所以直接在A+B处进行一次BFS就可以了。

 1005平行四边形

对于每一行来考虑,若左端点是整点,那么就 有(边长值-1)个点在里面
若不是整点则 有(边长值)个点在里面,所有行处理完就得到结果

PS.这题要谨慎使用浮点数,能用整形判断尽量用整形判断是否在边界

1006 木木换班

定义一个结构体代表一个班级,其中有两个变量a,b表示女生个数和男生个数。 然后按相应的优先级排序选最大的即可。

1007 0.3333333333........

这题很有意思,存在多种做法,对于题目中的数据,若是有限小数可以证明在小数点1000位后
一定全为0,所以直接除1000次就可以了。。。

1008 定义域

读懂了题意,直接输出[a-1,b-1]即可。

2014江西理工大学C语言程序设计竞赛高级组题解的更多相关文章

  1. 2014江西理工大学C语言程序竞赛高级组

    Beautiful Palindrome Number 题意:求N里面有多少个符合要求的数字(数字要求:回文数,且前一半部分是不严格递增) 解法:打表 #include<bits/stdc++. ...

  2. 2017年江西理工大学C语言程序设计竞赛(高级组)

    问题 A: 求近似值 #include <stdio.h> #include <time.h> #include <stdlib.h> using namespac ...

  3. 2018年江西理工大学C语言程序设计竞赛(高级组) 三角平方数

    题目描述 三角数:形如图a,圆点摆放成等边三角形的数字,则为三角数. (图a) 平方数:形如图b,小方块摆放成正方形的数字,则为平方数. (图b) 那么如果一个数字既是三角形数又是平方数,则称为三角平 ...

  4. 2018年江西理工大学C语言程序设计竞赛高级组部分题解

    B Interesting paths 考察范围:组合数学 此题是机器人走方格的变种,n*m的网格,从(1,1)走到(n,m),首先可以明确,水平要走m-1格,竖直要走n-1格,则走到目的地的任意一条 ...

  5. 2018年江西理工大学C语言程序设计竞赛(初级组)一

     C语言竞赛初级组第一.二场答案:https://www.cnblogs.com/xingkongyihao/p/10046918.html  A: 逆序对 时间限制: 1 s      内存限制:  ...

  6. 2014江西理工大学C语言程序竞赛初级组

    坐公交 解法:略 #include<stdio.h> #include<string> #include<iostream> #include<math.h& ...

  7. 2017年江西理工大学C语言程序设计竞赛(初级组)

    问题 A: Petr的盒子(初) #include <iostream> #include <stdio.h> #include <algorithm> using ...

  8. 2016年江西理工大学C语言程序设计竞赛(高级组)

    问题 A: jxust 解法:争议的问题(是输入整行还是输入字符串),这里倾向输入字符串,然后判断是否含有jxust就行 #include<bits/stdc++.h> using nam ...

  9. 2015年江西理工大学C语言程序设计竞赛(高级组)

    A 解法:DP+二分 dp[i]=max(dp[i],dp[j]+p[i].v)(i>j) dp[i]表示建立i点之后能够获得的最大值 int n,M; struct node { int l, ...

随机推荐

  1. Selenium webdriver Java 高级应用

    对于这一段还蛮有感慨的,只想说,代码还是需要自己去敲的. 1. 改变用户代理 import org.junit.AfterClass; import org.junit.BeforeClass; im ...

  2. EJB学习笔记之十(BMT事务和CMT事务)

     1.前言 前两篇博客主要介绍了与事务相关的知识.比如事务的一些特性,以及并发产生的问题.本篇来解说一下EJB中两种处理事务的方式.一种是以生命式方式来管理事务(CMT):还有一种则是在EJB内部使用 ...

  3. applicationContext.xml 文件头报错Referenced file contains errors

    问题如下:原先运行正常的项目,突然在applicationContext.xml 文件头报错 内容:Referenced file contains errors (http://www.spring ...

  4. UIAlertViewController 2

    iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸 ...

  5. oc block 遍历数组及字典

    原遍历数组NSArray * lines = ...for (NSString * line in lines) { // ...}for (int i = 0; i < lines.count ...

  6. 高仿快递100--实战之RadioGroup和RadioButton应用

    1.RadioButton和CheckBox的差别: a.单个RadioButton在选中后,通过点击无法变为未选中 单个CheckBox在选中后.通过点击能够变为未选中 b.一组RadioButto ...

  7. 趣味 console.log

    第三方趣味console,比我的强太多了,使用这个吧: https://github.com/yy0608/console 我的console效果图: ;(function (global, fact ...

  8. leetCode 87.Scramble String (拼凑字符串) 解题思路和方法

    Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty substrin ...

  9. C++语言基础(13)-抽象类和纯虚函数

    一.基本语法 在C++中,可以将虚函数声明为纯虚函数,语法格式为: ; 纯虚函数没有函数体,只有函数声明,在虚函数声明的结尾加上=0,表明此函数为纯虚函数. 最后的=0并不表示函数返回值为0,它只起形 ...

  10. Visual Studio - 创建和使用动态库

    一.VS2013 创建动态库 1.1 新建项目 1.2.在Win32应用程序向导对话框上勾选“DLL”和“空项目”复选框,点完成 1.3 .添加对应的.C文件和.h文件 1.4 在.h文件中添加如下代 ...