随笔分类 - 模拟
摘要:最近手感有点差,所以做点水题来锻炼一下信心。下周的南京区域赛估计就是我的退役赛了,bless all。Revenge of FibonacciTime Limit: 10000/5000 MS (Java/Others)Memory Limit: 204800/204800 K (Java/Others)Total Submission(s): 1582Accepted Submission(s): 356Problem DescriptionThe well-known Fibonacci sequence is defined as following:Here we regard n a
阅读全文
摘要:/*题目: XML有缩进,并且会在之前的缩进基础上缩进几个空格,现在问缩进k个空格的标签分析: 模拟队列,及时更新空格即可*/#include <iostream>#include <cstdio>#include <cstring>#include <vector>using namespace std;const int X = 20005;int n,k;char s[105];char p[105];vector<int> vec[X];struct node{ char s[105]; int num;}q[X],ans[X
阅读全文
摘要:/*题目: 模拟排队的实现,但是若是有同伙的话,这些家伙就会插队,排到他们的同伙的后面,要不就乖乖地排到队伍的后面。现在给出朋友关系以及进队出队的顺序,问你当出队时是谁在出队分析: 利用优先队列,重载小于号,使得优先级最大的先出队,优先级的定义如下:当前面有同伙时,按照前面的同伙的优先级来插入,若没有的话,就按照现在的优先插入。当优先级相同时,按照先进队的优先级越大就越大。*/#include <iostream>#include <cstdio>#include <queue>#include <cstring>using namespace
阅读全文
摘要:/*用结构体数组模拟栈,结构体中保存当前min与max的值*/#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int X = 65537;int n,top;struct node{ int max,min;}stack[X];int main(){ freopen("sum.in","r",stdin); char s[10]; int x; int ncase = 0; while(cin>>
阅读全文
摘要:/*题目: 模拟输出数字时钟分析: 先把答案都只为空格,然后枚举每一个数字,在相应的答案数组上做修改,这样的话,只需 做出来了数字8,其他的都可以实现了。代码很简练,只有100来行*/#include <cstdio>#include <cstring>#include <iostream>using namespace std;const int X = 205;char map[X][X],s[X];int n;int main(){ freopen("sum.in","r",stdin); freopen(&qu
阅读全文
摘要:/*题目: 找到所有在上面的窗口,窗口的大小最小高度和宽度均为3。分析: 通过搜索找到左上右下的坐标,然后再判断边上或里面是否有其他的字母,另外 注意由于窗口的大小最小为3*3。由于最大为100*100,O(n^3)暴搜算法即可 注意细节:6 10...........AAAAAAAA..A.BBB..A..A.B.B..A..A.BBB..A..AAAAAAAA.*/#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int X = 105;char
阅读全文
摘要:/*機器手臂有以下幾種合法搬積木的方式(a和b是積木的編號):move a onto b在將a搬到b上之前,先將a和b上的積木放回原來的位置(例如:1就放回1的最開始位罝)move a over b在將a搬到b所在的那堆積木之上之前,先將a上的積木放回原來的位罝(b所在的那堆積木不動)pile a onto b將a本身和其上的積木一起放到b上,在搬之前b上方的積木放回原位pile a over b將a本身和其上的積木一起搬到到b所在的那堆積木之上quit動作結束*/#include <iostream>#include <cstring>#include <str
阅读全文