炮兵阵地
时间限制:2000 ms | 内存限制:65535 KB
难度:6
描述司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所...
分类:
其他好文 时间:
2014-10-10 12:20:54
阅读次数:
163
主要内容:表达式求值,提交nyoj通过。。。
思路:主要就是一个开两个栈,然后一个操作符栈,一个操作数栈。。
我的代码如下(比较简洁):
/*****
Author Gery
******/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#def...
分类:
其他好文 时间:
2014-10-09 21:25:37
阅读次数:
192
小M的因子和
时间限制:1000 ms | 内存限制:65535 KB
难度:2
描述
小M在上课时有些得意忘形,老师想出道题目难住他。小M听说是求因子和,还是非常得意,但是看完题目是求A的B次方的因子和,有些手足无措了,你能解决这个问题吗?
输入有多组测试样例
每行两个数 A ,B ,(1≤A,B≤10^9)
输出输出A的B次方的因子和,并对9901取余。样例输入
2...
分类:
其他好文 时间:
2014-10-09 20:52:07
阅读次数:
157
点击打开链接
时间限制:3000 ms | 内存限制:65535 KB
难度:5
描述
小王喜欢与同事玩一些小游戏,今天他们选择了玩取石子。
游戏规则如下:共有N堆石子,已知每堆中石子的数量,并且规定好每堆石子最多可以取的石子数(最少取1颗)。
两个人轮流取子,每次只能选择N堆石子中的一堆,取一定数量的石子(最少取一个),并且取的...
分类:
其他好文 时间:
2014-10-09 15:35:48
阅读次数:
153
我自己写了一个gcd TL了,然后调用了math里面的gcd,AC了、、、
思路:就是拿n前面的最小公倍数和n求 1~n的最小公倍数
代码:
import java.util.Scanner;
import java.math.*;
public class Main{
public static void main(String[] args){
Scanner cin = new...
分类:
编程语言 时间:
2014-10-09 03:17:08
阅读次数:
233
这道题的解法真的很好!!!
思路:建立一个结构体包含val和id, val就是输入的数,id表示输入的顺序。然后按照val从小到大排序,如果val相等,那么就按照id排序。
如果没有逆序的话,肯定id是跟i(表示拍好后的顺序)一直一样的,如果有逆序数,那么有的i和id是不一样的。所以,利用树状数组的特性,我们可以简单的算出逆序数的个数。
如果还是不明白的话举个例子。(输入4个数)
...
分类:
其他好文 时间:
2014-10-09 02:25:47
阅读次数:
107
单调递增最长子序列
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述求一个字符串的最长递增子序列的长度
如:dabdbf最长递增子序列就是abdf,长度为4
输入
第一行一个整数0
随后的n行,每行有一个字符串,该字符串的长度不会超过10000
输出
输出字符串的最长递增子序列的长度
样例输入
3
aaa
ababc
abklm...
分类:
其他好文 时间:
2014-10-08 00:16:54
阅读次数:
291
街区最短路径问题
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述一个街区有很多住户,街区的街道只能为东西、南北两种方向。
住户只可以沿着街道行走。
各个街道之间的间隔相等。
用(x,y)来表示住户坐在的街区。
例如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道。
现在要建一个邮局,使得各个住户到...
分类:
其他好文 时间:
2014-10-07 17:39:23
阅读次数:
214
题意:给你一个高L长R宽C的图形,每一个坐标都可以视为一个方格,你一次可以向上,下,左,右,前,后任一方向移动一个方格, 但是不能向有#标记的方格移动。
问:从S出发能不能到达E,如果能请输出最少的移动次数。
策略:简单的深搜。
注意:因为是求最少的移动次数,所以要从所有能到达的中选出最少的。
代码:
#include
#include
#include
#include
usi...
分类:
其他好文 时间:
2014-10-07 15:58:53
阅读次数:
134
士兵杀敌(一) 数组是固定的,所以可以用一个sum数组来保存每个元素的和就行,但是不能每次都加,因为那样会超时,查询次数太多。但是这个士兵杀敌(二)就不能用那个方法来解了,因为这个是动态的,中间元素的值可能会变化,所以引出一个新的东西来。刚开始想了一下,实在是没有想到方法,就去讨论区看了看,一看好像...
分类:
其他好文 时间:
2014-10-07 15:23:43
阅读次数:
185