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. docker实战——Docker本地私有镜像仓库Harbor搭建及配置

    Harbor介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然docker官方提供了公共的镜像仓库(Docker Hub),但是从安全和效率等方面考虑,部署我们私有环境内的Registr ...

  2. 微信小程序bindtap和catchtap区别

    bindtap可以产生冒泡事件 catchtap只自身触发事件,不会传递到父视图         文章来源:刘俊涛的博客 地址:http://www.cnblogs.com/lovebing 欢迎关注 ...

  3. linux 下 查看进程的启动时间和运行时间

    $ps -A -opid,stime,etime,args | grep switcher : : grep switcher Jan22 :: /home/a/search/switcher//bi ...

  4. 【DB2】NICKNAME报错:SQL0206N "A0.CST_NM" 在使用它的上下文中无效。 SQLSTATE=42703

    1.环境展示: 2.操作描述 现在修改数据库A中CUST_INFO物理表的表结构,新增一个字段为desc varchar(100) ALTER TABLE CUST_INFO DROP COLUMN ...

  5. poj 3696 The Luckiest number 欧拉函数在解a^x=1modm的应用

    题意: 给一个L,求长度最小的全8数满足该数是L的倍数. 分析: 转化为求方程a^x==1modm. 之后就是各种数学论证了. 代码: //poj 3696 //sep9 #include <i ...

  6. SVN学习(一)——SVN 检出文件步骤、图标显示及含义

    May, I come... 1. 创建一个目录用来存放检出得到的文件,例如MyCRM 2. 直接进入目录MyCRM,点右键 3. 可以看到检出得到的文件 此时文件图标上没有任何标识.可能你会想到通过 ...

  7. 将python对象序列化成php能读取的格式(即能反序列化到对象)

    转载自:http://my.oschina.net/zuoan001/blog/94914 代码如下: #coding:utf-8 # vim: encoding=utf-8:ft=python:et ...

  8. Creating Dialogbased Windows Application (3) / 创建基于对话框的Windows应用程序(三)Checkbox的应用、窗体置顶、设置图标 / VC++, Windows

    创建基于对话框的Windows应用程序(三) —— Checkbox的应用.窗体置顶.设置图标 上一节创建的窗体应用程序中,我们用到了Button和StaticText这两个控件.这一节中我们将学习使 ...

  9. php类库PHP QR Code 二维码

    php类库PHP QR Code 二维码 php类库PHP QR Code 二维码 php类库PHP QR CodePHP QR Code is open source (LGPL) library ...

  10. Window安装Anaconda后,conda不是内部或者外部命令

    今天在安装Theano的时候,需要看一下,anaconda已经安装了哪些包.使用命令如下,在控制台,cmd回车输入即可: conda list 但是,显示出错,“conda不是内部或者外部命令”,第一 ...