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. 通过终端安装程序sudo apt-get install ***时出错:

    E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)  E: Unable to ...

  2. EffectiveJava(24)使用@SuppressWarnings("unchecked")消除非受检警告

    -..使用泛型编程时,会遇到许多编译器警告,如:非受检强制转化警告,非受检方法调用警告,非受检普通数组创建警告,费受精转换警告.这次的内容就是遇到这些警告的时候你该怎么办. PS:非受检警告就是代码上 ...

  3. 淘宝分布式配置管理服务Diamond

    转载:http://blog.csdn.net/kevinlynx/article/details/40017109 在一个分布式环境中,同类型的服务往往会部署很多实例.这些实例使用了一些配置,为了更 ...

  4. B7:访问者模式 Visitor

    表示一个作用于某对象结构中各元素的操作.它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作. 适用场景:1.适用于元素类数据结构相对稳定(类的方法固定,但属性可以变化,如果方法变化很大,就无 ...

  5. LogManager

    public class LogManager { // Fields public static bool Debugstate; // Methods public static void Log ...

  6. 使用AVPlayer制作一个播放器

    代码地址如下:http://www.demodashi.com/demo/11685.html AVPlayer 是一个强大的视频播放器,可以播放多种格式的视频,缺点是没有控制界面,需要自己去实现. ...

  7. Android设置拍照或者上传本地图片

    效果例如以下: 看代码: MainActivity类中: package com.example.ceshidemo; import java.io.ByteArrayOutputStream; im ...

  8. Rabbitmq消息队列(二) Hello World! 模拟简单发送接收

    1.简介 RabbitMQ是消息代理:它接受和转发消息.你可以把它当作一个邮局:当你把你要邮寄的邮件放在信箱里时,你可以肯定Postman先生最终会把邮件送到你的收件人那里.在这个比喻中,Rabbit ...

  9. nodejs 获取指定路径下所有的文件夹名

    示例:获取 ./components 下所有的文件夹名称 let components = [] const files = fs.readdirSync('./components') files. ...

  10. 用gradle把springboot项目打包成jar

    ``` 用gradle把springboot项目打包成jar ```### build.gradle 中添加 buildscript { repositories { mavenLocal() mav ...