queue+模拟 Codeforces Round #304 (Div. 2) C. Soldier and Cards
- /*
- 题意:两堆牌,每次拿出上面的牌做比较,大的一方收走两张牌,直到一方没有牌
- queue容器:模拟上述过程,当次数达到最大值时判断为-1
- */
- #include <cstdio>
- #include <iostream>
- #include <algorithm>
- #include <cstring>
- #include <string>
- #include <stack>
- #include <cmath>
- #include <queue>
- using namespace std;
- const int MAXN = ;
- const int INF = 0x3f3f3f3f;
- int x[MAXN];
- queue<int> Q1;
- queue<int> Q2;
- int main(void) //Codeforces Round #304 (Div. 2) C. Soldier and Cards
- {
- int n, m1, m2;
- while (scanf ("%d", &n) == )
- {
- while (!Q1.empty ()) Q1.pop ();
- while (!Q2.empty ()) Q2.pop ();
- int x;
- scanf ("%d", &m1);
- for (int i=; i<=m1; ++i)
- {
- scanf ("%d", &x); Q1.push (x);
- }
- scanf ("%d", &m2);
- for (int i=; i<=m2; ++i)
- {
- scanf ("%d", &x); Q2.push (x);
- }
- int cnt = ;
- while (!Q1.empty () && !Q2.empty ())
- {
- int x = Q1.front (); int y = Q2.front ();
- Q1.pop (); Q2.pop ();
- if (x < y) {Q2.push (x); Q2.push (y);}
- else {Q1.push (y); Q1.push (x);}
- ++cnt;
- if (cnt == ) break;
- }
- if (cnt == ) puts ("-1");
- else
- {
- printf ("%d %d\n", cnt, (Q1.empty ()) ? : );
- }
- }
- return ;
- }
- /*
- 4
- 2 1 3
- 2 4 2
- 3
- 1 2
- 2 1 3
- */
queue+模拟 Codeforces Round #304 (Div. 2) C. Soldier and Cards的更多相关文章
- Codeforces Round #304 (Div. 2) C. Soldier and Cards —— 模拟题,队列
题目链接:http://codeforces.com/problemset/problem/546/C 题解: 用两个队列模拟过程就可以了. 特殊的地方是:1.如果等大,那么两张牌都丢弃 : 2.如果 ...
- Codeforces Round #304 (Div. 2) C. Soldier and Cards 水题
C. Soldier and Cards Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/546 ...
- 数学+DP Codeforces Round #304 (Div. 2) D. Soldier and Number Game
题目传送门 /* 题意:这题就是求b+1到a的因子个数和. 数学+DP:a[i]保存i的最小因子,dp[i] = dp[i/a[i]] +1;再来一个前缀和 */ /***************** ...
- DP+埃氏筛法 Codeforces Round #304 (Div. 2) D. Soldier and Number Game
题目传送门 /* 题意:b+1,b+2,...,a 所有数的素数个数和 DP+埃氏筛法:dp[i] 记录i的素数个数和,若i是素数,则为1:否则它可以从一个数乘以素数递推过来 最后改为i之前所有素数个 ...
- 贪心 Codeforces Round #304 (Div. 2) B. Soldier and Badges
题目传送门 /* 题意:问最少增加多少值使变成递增序列 贪心:排序后,每一个值改为前一个值+1,有可能a[i-1] = a[i] + 1,所以要 >= */ #include <cstdi ...
- 水题 Codeforces Round #304 (Div. 2) A. Soldier and Bananas
题目传送门 /* 水题:ans = (1+2+3+...+n) * k - n,开long long */ #include <cstdio> #include <algorithm ...
- Codeforces Round #304 (Div. 2) D. Soldier and Number Game 数学 质因数个数
D. Soldier and Number Game Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/conte ...
- Codeforces Round #304 (Div. 2) E. Soldier and Traveling 最大流
题目链接: http://codeforces.com/problemset/problem/546/E E. Soldier and Traveling time limit per test1 s ...
- Codeforces Round #304 (Div. 2) B. Soldier and Badges 水题
B. Soldier and Badges Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/54 ...
随机推荐
- Arcgis Engine(ae)接口详解(2):featureClass查询
//属性查询~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //IQueryFilter代表查询条件,QueryFilterClass代表只限于属性查询(就是没有空间查询) ...
- F08标准中Open命令的newunit选项
从gfortran 4.5开始Open命令开始支持newunit选项,示例如下: integer :: u open(newunit=u, file="log.txt", posi ...
- HBase在滴滴出行的应用场景和最佳实践
摘要: 主要介绍了HBase和Phoenix在滴滴内部的一些典型案例.文章已在CSDN极客头条和<程序员>杂志发表,应朋友邀请,分享到云栖社区,希望给大家带来启发和帮助. 背景 对接业务类 ...
- 该项目不在c:\ 请确认该项目的位置
该项目不在c:\ 请确认该项目的位置 - CSDN博客https://blog.csdn.net/feilong1lantern/article/details/50388414 在删除不掉的文件夹目 ...
- JAVA中Stack和Heap的区别
http://m.blog.csdn.net/wl_ldy/article/details/5935528
- 第三届蓝桥杯C++B组省赛
1.微生物增值 2.古堡算式 3.海盗比酒量 4.奇怪的比赛 5.方阵旋转 6.大数乘法 7.放棋子 8.密码发生器 9.夺冠概率 10.取球博弈
- WCF寄宿到Windows Service[1]
WCF寄宿到Windows Service 返回 在前面创建一个简单的WCF程序,我们把WCF的服务寄宿到了Host这个控制台项目中了.下面将介绍如何把WCF的服务寄宿到Windows服务中(源代码) ...
- codeforces 691D D. Swaps in Permutation(dfs)
题目链接: D. Swaps in Permutation time limit per test 5 seconds memory limit per test 256 megabytes inpu ...
- H5页面解决左右滑动问题
在head里面加入. <meta name="viewport" content="width=device-width, initial-scale=1.0, u ...
- 使用Pycharm官方统计代码行插件统计代码总行数
最近有需求,需要统计项目代码的总行数,首先想到了使用Pycharm官方的统计行数插件,发现效果还不错. 官方代码统计插件指导:https://plugins.jetbrains.com/plugin/ ...