摘要: 该题是个纯模拟题,只要仔细模拟就可以了,刚开始的时候自己按照自己的想法把行列关系进行了更改,结果弄得方向错乱。该证后AC。代码如下:#include <cstring>#include <cstdio>#include <cstdlib>#define MAXN 105using namespace std;int A, B, N, M, x[MAXN], y[MAXN], d[MAXN];int G[MAXN][MAXN];int dir[4][2] = {-1, 0, 0, 1, 1, 0, 0, -1};char box[MAXN]; // 接受信息s 阅读全文
posted @ 2012-06-29 20:32 沐阳 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 该题是一个模拟题,可能在理解题意上有所困难。第一个序列的意思为:a[i]表示第i个右括号的左边有多少个左括号第二个序列的意思为:b[i]表示第i个右括号跟与之匹配的左括号之间有多少左括号,包括与之匹配的左括号首先根据第一个序列将这个括号的序列进行恢复,然后再从右到左将第二个序列计算出来。代码如下:#include <cstring>#include <cstdlib>#include <cstdio>#include <algorithm>using namespace std;int s[100], N, seq[25], rec[25];// 阅读全文
posted @ 2012-06-29 17:16 沐阳 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 该题是在给定一系列的计算逻辑的基础上,询问一个表达式是否恒为真的问题,由于构成的表达式是一个以运算符开始的先序遍历的式子,所以可以利用递归进行求解。什么是构造法呢? 1.对所讨论的对象能进行较为直观的描述; 2.实现的具体性,就是不只是判明某种解的存在性,而且要实现具体求解。代码如下:#include <cstring>#include <cstdio>#include <cstdlib>using namespace std;char s[105];int K[2][2] = {0, 0, 0, 1}, A[2][2] = {0, 1, 1, 1};int 阅读全文
posted @ 2012-06-29 16:10 沐阳 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 这题题意是别人告诉的,现在这里表示感谢了。题目就是说给定一个盈利和一个亏损值,(一个月只可能盈利或者亏损)一年12个月,任意连续5个月的和值必须亏损。求十二个月的最大盈利是多少?解题思路:先确定前五个月的安排情况,把亏损的尽量安排靠后,然后再从2月到8月为起点进行暴力,每次能够新确定一个月的盈亏情况(根据5月之和小于零)。最后再确认12个月是否盈利。代码如下:#include <cstring>#include <cstdlib>#include <cstdio>#include <algorithm>using namespace std;in 阅读全文
posted @ 2012-06-29 11:28 沐阳 阅读(180) 评论(0) 推荐(0) 编辑