随笔分类 - ACM——模拟题目
摘要:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1482题意:中文......思路:模拟。。。就是模拟多项式的加法和乘法,不过要注意两点:1:排序,首先按x幂大的派,如果x相等,按y幂大的往下排,注意的是当x的幂不为0,y的为0时,要将他的y职位inf,再排序;2:注意当出现相乘结果出现0时,要输出0 ;(就是因为这里纠结了好一阵子);//#pragma comment(linker,"/STACK:327680000,327680000")#include <ios
阅读全文
摘要:http://acm.sdut.edu.cn/web/showproblem.php?pid=2099&cid=1088才开始掉下了中间可能有多个空格的处理,WA了好几次。。。还有这里对表达式的理解一定要透彻,表达式有三种1:常数;2:A+B形式;3:A>B的形式。。。View Code #include <cstdio>#include <cstring>#include <iostream>#define maxn 107using namespace std;struct node{ int num;//存编号 char op[10];/
阅读全文
摘要:http://acm.sdut.edu.cn/web/showproblem.php?pid=2098&cid=1088相当于一道模拟题吧。纠结死我了、、各种WA各种不爽。。好多情况要考虑。。自己的思维全面性,以及编码能力还是不够啊。。。最重要的一点就是要静下心来。。。不能浮躁。。。1:整个浮点数前后的空格不考虑,开始我考虑在内了所以WA了很多次。。2:分三中情况a: 只有小数点,无e(E)...b:只有e(E),无小数点。。c:既有小数点,又有e(E)..View Code #include <cstdio>#include <cstring>#include
阅读全文
摘要:http://poj.org/problem?id=2993上一周的训练还没做完,唉。只能延续第一周的训练计划了。和pku2996正好过程相反。。。谢模拟题实在是太费劲了。。细节细节注意。View Code #include <iostream>#include <cstdio>#include <cstring>using namespace std;char str[20][40];int main(){ int i,j,k,l; int len; //首先排除字母构造整个表 for (i = 0; i < 17; i += 2) { for (.
阅读全文
摘要:http://poj.org/problem?id=2996题意很难理解。给你一个棋盘,分白黑双方,白的用大写字母表示,黑的用小写字母表示。("K" (King), "Q" (Queen), "R" (Rook), "B" (Bishop), "N" (Knight), or "P" (Pawn))然后给出位置的描述方法:a,b,c,d,e,f,g,h分表代表列 1--8 分别代表行。然后进行描述。注意:这里的矩形,最下边是第一行。还有对于白色,同一个棋子行数小得先表示例如样
阅读全文
摘要:http://poj.org/problem?id=1573一个原来做过的模拟题,大早上做题就是头脑清楚啊。1Y..呵呵。。View Code #include <iostream>#include <cstring>#include <cstdio>#define maxn 107using namespace std;char str[maxn][maxn];bool visit[maxn][maxn];//标记是否已经走过int map[maxn][maxn];//存储到达ij这点时走了多少步int main(){ int n,m,s,i,j; int
阅读全文
摘要:http://poj.org/problem?id=2632唉。。做模拟题一定要细心啊。才开始自己吧题意读错了,以为向左右转后还要走呢。调了很长时间还是没有过样例,最后又看了一遍题目才发现,原来是原地打转。悲剧啊。还有就是对于tagp[a].mark的判断,if 必须配有els否则上一步对mark的改变会影响到下一步的处理。唉。。。这样的小错误在模拟题中是很难检查的。。唉。。费劲啊。View Code #include <iostream>#include <cstdio>#include <cstring>#define maxn 10007using n
阅读全文
摘要:http://poj.org/problem?id=1068给你一系列的左右括号的两个表示方法,p和W.然后是有P向W转换Pi表示第i个右括号前边有几个左括号;Wi表示第i个右括号如果要找匹配的话,要找从后往前数几个左括号与它匹配。View Code #include <iostream>#include <cstdio>#include <cstring>#define maxn 25using namespace std;int fb[maxn],fw[maxn];//存储两种匹配int ct[maxn],len[maxn];//记录长度,ct变而len
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1026才开始自己不清楚什么优先队列,就是直接从终点出发搜索直到找到出发点,记录最近。结果wa很多次,最后问了一下被人,才发现,最短的时间不是单调的每一步还要加上打怪的时间,yy了一下只要在每次出队列之前从小到大排一下队列里面的元素就行了啊。可是我的编码能力可能别太弱了结果没实现,于是就学习了stl中的优先队列的写法,stl 好强大啊。。思路:bfs,优先队列,pre数组记录后继元素,,ptr数组记录到该点的时间,最后递归尚未输出结果(这个地方很难想到,很巧妙)。。View Code 1 #include ..
阅读全文