模拟
文章平均质量分 78
围巾的ACM
啊啊什么时候也能成为一个大牛啊
展开
-
POJ3087 Shuffle'm Up 简单模拟
题解简单模拟题,题意就是给已知两堆牌s1和s2的初始状态, 其牌数均为c,按给定规则能将他们相互交叉组合成一堆牌s12,再将s12的最底下的c块牌归为s1,最顶的c块牌归为s2,依此循环下去。给定输入s1和s2的初始状态 以及 预想的最终状态s12。 问s1 s2经过多少次洗牌之后,最终能达到状态s12,若永远不可能相同,则输出”-1”。代码#include <stdio.h>#include <原创 2015-12-10 21:54:01 · 350 阅读 · 0 评论 -
HDU 5071 Chat(模拟)
思路:恶心模拟...反正扔给队友做了#include using namespace std;const int maxn = 5000 + 100;typedef long long ll;struct Node{ ll u, c; int ne;}win[maxn*2];int sz;void tak(int th){ int ti = win[th].ne原创 2016-05-17 21:11:51 · 517 阅读 · 0 评论 -
CodeForces 612C Replace To Make Regular Bracket Sequence
题意:给你一个只含有括号的字符串,你可以将一种类型的左括号改成另外一种类型,右括号改成另外一种右括号问你最少修改多少次,才能使得这个字符串匹配,输出次数思路:用stack,每次将左括号压进stack里面,遇到右括号就判断一下就好了非法就很简单,看看栈最后是否还有,看看右括号的时候,左括号的栈是否为空#includeusing namespace std;str原创 2016-04-22 23:49:12 · 579 阅读 · 0 评论 -
CodeForces 670E(模拟双向链表)
题意:给你一串合法的括号和当前光标的位置和一些操作,问操作完之后的串是怎么样的思路:模拟一个双向链表的操作,首先先预处理出配对的括号组,然后模拟即可#includeusing namespace std;const int maxn = 1e6;struct Node{ int l,r;}nodes[maxn];char s1[maxn],s2[maxn];int原创 2016-05-08 23:22:39 · 2524 阅读 · 0 评论 -
UVA575 Skew Binary
思路:简单模拟题#include #include const int maxn = 33;char num[maxn];int main() { int n; while (gets(num) && num[0] != '0') { int l = strlen(num); int sum = 0; for (int i = 0 ;i < l; i++)原创 2016-05-19 20:51:38 · 432 阅读 · 0 评论 -
UVA550 Multiplying by Rotation
思路:简单的模拟乘法#include#includeusing namespace std;int main(){ int n,m,k; while(scanf("%d%d%d",&m,&k,&n)!=EOF) { int count = 1,now=k,save=0,temp; while(now*n+save!=k) { temp=now;原创 2016-05-19 20:52:43 · 406 阅读 · 0 评论 -
hdu1014 Uniform Generator
思路:简单的模拟一下就可以了#include #include #include using namespace std;#define maxn 100000 + 10int r[maxn];int main(){ int step, mod; while(scanf("%d%d",&step,&mod)!=EOF) { int flag = 1; r原创 2016-05-19 20:55:24 · 286 阅读 · 0 评论 -
codeforces 677B Vanya and Food Processor(模拟)
思路:SB模拟...#includeusing namespace std;const int maxn = 1e5+7;int n;long long h,k,a[maxn];int main(){ scanf("%d%lld%lld",&n,&h,&k); for(int i=1;i<=n;i++) scanf("%d",&a[i]);原创 2016-06-02 17:14:35 · 570 阅读 · 0 评论 -
团体程序设计天梯赛L2-002 链表去重(模拟)
思路:题目很简单,数据只有1e5,直接开数组模拟即可#include#include#includeusing namespace std;struct Node{ int val; int next;}a[100005];int vis[100005];int ans[100005],res[100005];int main(){ int adres原创 2016-06-28 21:32:16 · 1221 阅读 · 0 评论 -
Codeforces Round #357 (Div. 2) C Heap Operations(模拟)
思路:开个优先队列模拟一下即可,注意一下细节#includeusing namespace std;priority_queue,greater >q;vector >ans;char s[30];int main(){ int n; scanf("%d",&n); for(int i = 0;i<n;i++) { int p; sc原创 2016-07-08 11:21:58 · 664 阅读 · 0 评论 -
HDU 5455 Fang Fang(模拟)
思路:直接模拟就好了,注意全是f的情况#include using namespace std;typedef unsigned long long ULL;typedef long long LL;const int INF = 0x3f3f3f3f;const double eps = 1e-9;const int maxn = 1000000 + 100;char原创 2016-09-01 21:21:47 · 631 阅读 · 0 评论 -
HDU 5437 Alisha’s Party(优先队列模拟)
思路:题目比较好懂的模拟题,用一个优先队列即可 模拟的时候要注意最后还会再开一次门,把剩下的人全部放进来,开门的时间并不一定是递增的,要自己排个序,还有就是要注意开门的时候是2 5这种数据,就是到第二个人到了开门,然后可以放5个人进来,这样不处理的话会RE#includeusing namespace std;const int maxn = 150000+7原创 2016-08-26 21:15:56 · 612 阅读 · 0 评论 -
HDU 5683 zxa and xor (模拟)
思路:这题居然能模拟...#includeusing namespace std;const int maxn = 2e4+6;int a[maxn],ans,n,m;void solve(){ scanf("%d%d",&n,&m); ans=0; for(int i=1;i<=n;i++)scanf("%d",&a[i]); for原创 2016-05-16 22:10:50 · 494 阅读 · 0 评论 -
Codeforces Round #317 [AimFund Thanks-Round] (Div. 2) B Order Book
思路:阅读题....#includeusing namespace std;int buy[100005];int sell[100005];int main(){ int n,s; cin >> n >> s; for (int i = 0;i<n;i++) { char c; int p,q; cin >> c >> p >> q;原创 2016-05-27 21:53:08 · 355 阅读 · 0 评论 -
HDU 4740 The Donkey of Gui Zhou
思路:模拟搜索#includeusing namespace std;const int maxn = 1005;int donkey[maxn][maxn];int tiger[maxn][maxn];int flag;int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}};int don,tig,n;void dfs(int a,int原创 2016-05-03 20:26:38 · 441 阅读 · 0 评论 -
CodeForces 652A Gabriel and Caterpillar(模拟)
题意:有一个人,白天每小时爬a米,晚上每小时掉下来b米,可以掉到地下去,你从第0天的下午两点看到这个人在h1,他要到h2去,早上10点到晚上十点算白天,其他算晚上,问你他第几天到达h2,如果不能到达输出-1思路:直接模拟...#include #include #include #include #include #include #include #include原创 2016-04-04 11:01:54 · 428 阅读 · 0 评论 -
UVA 11549 Calculator Conundrum
题意:有个老式计算器,每次只能记住一个数字的前n位。现在输入一个整数k,然后反复平方,一直做下去,能得到的最大数是多少。例如,n=1,k=6,那么一次显示:6,3,9,1...思路:直接开个set判重即可#include#includeusing namespace std;int T,n,k;int next(int x)//寻找x的后继{ if(!k)原创 2016-04-06 09:15:45 · 266 阅读 · 0 评论 -
CodeForces 637D Running with Obstacles(贪心模拟)
题意:有一个长度为m的跑道,上面有n个障碍物需要跳过去,每次可以跳D米,但是必须先跑S米,让你输出一种方案能让人跑完全程,否则输出IMPOSSIBLE思路:直接贪心模拟,能跑就跑,能跳就跳,不过细节挺多的得慢慢写#include #include #include #include #include #include #include #include #inclu原创 2016-03-27 11:39:34 · 535 阅读 · 0 评论 -
CodeForces 7B Memory Manager 模拟题
思路:恶心模拟...#includeusing namespace std;const int maxn = 205;int pos[maxn];int num;string s;int d;int n,m;void add(){ cin>>d; int flag=-1; for(int j=1;j<=m;j++) {原创 2016-04-08 17:02:45 · 706 阅读 · 0 评论 -
ZOJ 3879 Capture the Flag(模拟)
思路:恶心模拟...照着题目怎么说就怎么做就好了#includeusing namespace std;const int maxn = 100000;#define exp 1e-5struct Node{ int id,rank; double score;}nodes[105];int vis[105][105][105];int visit[105];b原创 2016-04-13 10:08:07 · 329 阅读 · 0 评论 -
CodeForces 3C Tic-tac-toe(模拟)
题意:XO游戏,现在给你一局游戏,让你判断是否合法,谁获胜,如果还没获胜,则输出下一步由谁走思路:模拟..细节很多#includeusing namespace std;string s[3];int check(char c){ for(int i=0;i<3;i++) { int win = 1; for(int j=0原创 2016-03-28 22:17:15 · 633 阅读 · 0 评论 -
CodeForces 567B Berland National Library
思路:按照题意模拟就好了#includeusing namespace std;mapmark;int main(){ int n; scanf("%d",&n); int now=0,tip=0,ans=0; for (int i = 0;i<n;i++) { string s; cin >> s; int k; scanf(原创 2016-04-29 20:31:57 · 416 阅读 · 0 评论 -
CodeForces 616A Comparing Two Long Integers
题意:给出两个带前导0的数字,比较大小思路:直接模拟即可#includeusing namespace std;string a,b;int main(){ cin >> a >> b; int len1 = a.size(); int len2 = b.size(); int la = 0,lb=0; while (a[la]=='0' && la<len1)原创 2016-04-17 11:14:45 · 374 阅读 · 0 评论 -
UVALive 7139 Rotation(模拟)
思路:模拟题,留意到其实左右操作是会抵消的,所以只用考虑上下就好了#include#include#include#include#includeusing namespace std;#define LL long longvector >mp;char *str = "UDLR";int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}};原创 2016-05-12 16:50:47 · 563 阅读 · 0 评论 -
UVALive 7146 Defeat the Enemy(模拟)
思路:按攻击方的攻击力排序,防御方的防御力排序,然后对于每一个防御方肯定是在攻击方找一个攻击力比它防御力高并且防御力比防御方的攻击力稍微大一点点的最优,所以用个multiset搞一下就OK了#include #include #include #include #include #include #include #include #include #include原创 2016-05-12 16:56:54 · 426 阅读 · 0 评论 -
Codeforces Round #354 (Div. 2) B Pyramid of Glasses(模拟)
思路:模拟一下就可以了#includeusing namespace std;int n,t;double a[15][15];void work(){ a[1][1]+=1; for(int i = 1;i<=n;i++) { for(int j = 1;j<=i;j++) { if(a[i][j]<=1) continue; double原创 2016-05-26 22:07:12 · 419 阅读 · 0 评论 -
CCCC上几道树的题目
CCCC又要来了。。几道树的题目感觉还是不错的L2-006. 树的遍历给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:72原创 2017-03-24 22:31:50 · 556 阅读 · 0 评论