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. 重新 java 对象的 equals 和 hashCode 方法的建议和示例代码

    equals 方法 equals 方法需要满足的规范: 自反性: 对于任意非空引用 x, x.equals(x) 应该返回 true; 对称性: 对于任意引用, 当且仅当 x.equals(y) == ...

  2. NodeJS淘宝 CNPM 镜像

    原文地址:http://npm.taobao.org/ 设置NPM镜像(前提已安装NodeJS): npm config set registry https://registry.npm.taoba ...

  3. Centos下安装JDK、Maven和Git

    原文地址:https://github.com/eacdy/spring-cloud-book/blob/master/3%20%E4%BD%BF%E7%94%A8Docker%E6%9E%84%E5 ...

  4. 二维数组,锯齿数组和集合 C# 一维数组、二维数组(矩形数组)、交错数组(锯齿数组)的使用 C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)

    二维数组,锯齿数组和集合 一.二维数组 二维数组:一维数组----豆角二维数组----表格 定义:1.一维数组:数据类型[] 数组变量名 = new 数据类型[数组长度];数据类型[] 数组变量名 = ...

  5. 调整Redmine的用户显示格式

    在 Redmine 中新建用户时是酱紫的: 必须指定姓氏.名字.然后 Redmine 默认是按"名字 姓氏"这样的方式显示用户.比方"张三",会显示成" ...

  6. atitit.Atitit.检测文本文件的编码 java  与php版  。Net

    atitit.Atitit.检测文本文件的编码 java  与php版  .Net 1 检测编码原理 Utf8>>gbk 在此转会gbk>>utf 2 工具检测编码 不能使用l ...

  7. HttpClient如何 关闭连接(转)

    ava代码 HttpClient client = new HttpClient(); HttpMethod method = new GetMethod("http://www.apach ...

  8. mysql bin-log三种模式

    MySQL的bin-log日志备份有三种模式,分别是:ROW.Statement.Mixed 一.Row 日志会记录成每一行数据被修改成的形式,然后再slave端再对相同的数据进行修改,只记录要修改的 ...

  9. socket demo程序

    package cn.example.socket; import java.io.BufferedReader; import java.io.IOException; import java.io ...

  10. IOS设计模式的六大设计原则之单一职责原则(SRP,Single Responsibility Principle)

    定义 就一个类而言,应该仅有一个引起它变化的原因. 定义解读 这是六大原则中最简单的一种,通俗点说,就是不存在多个原因使得一个类发生变化,也就是一个类只负责一种职责的工作. 优点 类的复杂度降低,一个 ...