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 ...
随机推荐
- npm WARN uninstall not installed in /Users/hrt0kmt/node_modules: "xxx"
You may meet this error on home directory. % npm uninstall appium npm WARN uninstall not installed i ...
- HBase在滴滴出行的应用场景和最佳实践
摘要: 主要介绍了HBase和Phoenix在滴滴内部的一些典型案例.文章已在CSDN极客头条和<程序员>杂志发表,应朋友邀请,分享到云栖社区,希望给大家带来启发和帮助. 背景 对接业务类 ...
- 深度学习入门-4.1 AND.py 源码分析
源代码 ------------------------------------------------------------------------------------------------ ...
- REST的本质,就是用户操作某个网络资源(具有独一无二的识别符URI),获得某种服务,也就是动词+资源(都是HTTP协议的一部分)
REST的名称”表现状态转化”中,省略了主语.”表现”其实指的是资源的表现. 资源就是网络上的一个数据实体,或者说是一个具体信息.它可以是一段文本.一张图片.一首歌曲.一种服务.你可以用一个URI(统 ...
- bzoj4149: [AMPPZ2014]Global Warming
头都烂了怎么头疼啊 考虑先做出对于一个位置以它作为唯一最小值的最远区间,这个可以单调栈上二分搞出来 那么对于一个位置这个区间而言,一定是选择这个区间的最大数是作为最终的唯一最大数最优的 为什么呢?我们 ...
- 【Java】DateUtil(2)
import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; impor ...
- hdu-5676 ztr loves lucky numbers(乱搞题)
题目链接: ztr loves lucky numbers Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K ( ...
- Apostrophe not preceded by \
编辑strings.xml的时候, <string name="start">Let's get started!</string> 报错说:“Apostr ...
- 理解Objective-C Runtime (五)协议与分类
Objective-C中的分类允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以做到. Objective-C中的协议是普遍存在的 ...
- GCD深入理解(1)
写在前面 本文原文为raywenderlich的<grand-central-dispatch-in-depth-part-1>:顺便提及一下,笔者认为,对于iOS初学者而言,raywen ...