随笔分类 - 【模拟 Implementation】
摘要:题意: 给一个象棋局势,问黑棋是否死棋了,黑棋只有一个将,红棋可能有2~7个棋,分别可能是车,马,炮以及帅。解法: 开始写法是对每个棋子,都处理处他能吃的地方,赋为-1,然后判断将能不能走到非-1的点。但是WA了好久,也找不出反例,但就是觉得不行,因为可能有将吃子的情况,可能有hack点。但是比赛后...
阅读全文
摘要:题意: 给一个字符串,表示一颗树,要求你把它整理出来,节点从1开始编号,还要输出树边。解法: 模拟即可。因为由括号,所以可以递归地求,用map存对应关系,np存ind->name的映射,每进入一层括号,使father = now, 遇到右括号')',则father = fa[father],用vec...
阅读全文
摘要:题意: 将一些分散在各行的HTML代码整理成标签树的形式。解法: 模拟,具体见代码的讲解。 开始没考虑 '\t' 。。代码:#include #include #include #include #include #include #include using namespace std;strin...
阅读全文
摘要:题意:给出汇编指令,解释出编码或者给出编码,解释出汇编指令。解法:简单模拟,按照给出的规则一步一步来就好了,主要是注意“SET”的情况,还有要输出的东西最好放到最后一起输出,中间如果一旦不对就可以及时跳出去。其他也没什么了,只要细心点,多测几组样例就好了。代码:#include #include #...
阅读全文
摘要:题意:给你一个字符串,要求把它按语法转化成HTML格式。分析:这题其实不难,就是一个递归的事情,当时忽略了括号嵌套的情况,所以一直WA,后来加上这种情况后就过了。简直醉了。处理id和class时,在一个'>'内,先把遇到的id和class都push到一个容器中,然后再输出即可。这题要注意的地方: 1...
阅读全文
摘要:题意:说不清楚,自己看吧,太恶心。这题真是SB了,当时看了一下以为乱搞就好了,于是开始动手拍,结果拍了好几个小时都没拍出来,而且越想越想不通,直接把自己绕进去了,结果gg了。总结:甭管什么题,想清楚了再拍。其实当初绕进去的时候,应该换个思路重新来一遍更好解法:枚举时间从00:00~23:59,数字显...
阅读全文
摘要:题意:两个人A和B在打牌,只有题目给出的几种牌能出若A第一次出牌B压不住或者A一次就把牌出完了,那么A赢,输出Yes,否则若A牌没出完而且被B压住了,那么A输,输出No。解法:知道规则,看清题目,搞清有哪些Trick,就可以直接模拟搞了。详见代码:#include #include #include...
阅读全文
摘要:题意:给n个医生,这些医生有一个上班时间,然后给一些病人,病人有一个到达的时间,以及一些诊断,诊断有property(优先级)和duration(诊断时间)这两个属性,每个病人可能要诊断多次,最后问每个病人的全部疗程完成离开医院的时间是多少。分析:用优先队列存储诊断,病人,然后模拟一个诊断过程,完成...
阅读全文
摘要:昨天晚上写的,写了一个多小时,9000+B,居然1A了,爽。题意:玩扑克,比大小。规则如下:题意很简单,看过赌神的人都知道,每人手中5张排,比牌面大小,牌面由大到小分别是(这里花色无大小),级别从高到低依次为:1.同花顺:牌面一样,只比较最大的看谁大,一样大则平手2.四条:四个一样的,看这四个一样的...
阅读全文
摘要:题意:给一个元素周期表的元素符号(114种),再给一个串,问这个串能否有这些元素符号组成(全为小写)。解法1:动态规划定义:dp[i]表示到 i 这个字符为止,能否有元素周期表里的符号构成。则有转移方程:dp[i] = (dp[i-1]&&f(i-1,1)) || (dp[i-2]&&f(i-2,2...
阅读全文
摘要:当时不知道怎么下手,后来一看原来就是排个序然后乱搞就行了。解法不想写了,可见:http://blog.csdn.net/u013368721/article/details/28071241其实就是滑动窗口的思想。代码:#include #include #include #include #inc...
阅读全文
摘要:原题: ZOJ 3674http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3674题意不难理解,很容易想到用暴力,但是无从下手,不知道怎么实现。后来看了网上的代码,直接用vector和map暴力,用到了set_intersect...
阅读全文
摘要:原题:ZOJ 3780http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3780刚开始看到还以为是搜索题,没思路就跳过了。结果后来发现就是一个简单的模拟啊,因为每行每列都只能消去一次,直接慢慢消去就好了,因为按字典序从小到大,那...
阅读全文
摘要:这题做的我好苦啊,编码调试整整搞了一个多小时,而且调到天昏地暗才调出来。。回归正题,这题是一道本人做过的比较烦,比较无聊的题之一。题意是一个人,在m个影星里有k个喜欢的影星,然后给出n场电影,每场电影给出演出的人的编号,0表示不确定,根据这些人的编号判断是否一定是最喜欢的电影(喜欢的影星最多的电影),或者一定不会是最喜欢的电影,或者是不确定。做法是算出每场电影最少有多少个喜欢的影星和最多有多少个喜欢的影星,并且得出在所有电影中最少有多少个喜欢的影星和最多有多少个喜欢的影星。如果分别用MIN和MAX来表示,则有三种情况:1.如果这场电影的MIN不小于任意一场电影的MAX,则这场电影必为最喜欢的电
阅读全文
摘要:这题理解题意最重要,千万不要理解错。题意是取矩阵的左上角,所以能切掉的都要切掉,是能形成三角形的形成三角形,不能的尽量割掉最大。代码借鉴了一位大牛的,如下:#include #include #include using namespace std; int a[11][11]; int main() { int t,i,n,m,j; scanf("%d",&t); while(t--) { scanf("%d%d",&m,&n); for(i=0;i0;j--) ...
阅读全文
摘要:模拟题,注意细节。。#include #include#include#include#include#include#define mod 1073741824using namespace std;char a[100];char res[1005];int op[512];int main(){ int t,n,i,k; scanf("%d",&t); int cs; int now; while(t--) { memset(op,0,sizeof(op)); memset(a,0,sizeof(a)); me...
阅读全文
摘要:这题刚开始没想通,结果发现要解方程,代码如下:#include #include #include #include #include #include #include #include #include #include #include #define mod 1000000007 #define INT 2147483647 #define pi 3.141592654 //freopen("1.txt","r",stdin); using namespace std; int main() { ...
阅读全文


浙公网安备 33010602011771号