题目链接:http://codeforces.com/problemset/problem/1172/A


题意:一共有2*n张牌,n张0,n张1到n。现在随机的n张(有0有数字)在手上,另n张再牌堆中,现在已知手上的牌和牌堆的牌,可以进行多次以下操作:将手中任意一张牌放入牌堆底,将牌堆顶的一张牌放入手中。问最少多少次后可使牌堆顶到牌堆底的n张牌分别为1,2,3...n。

思路:模拟,判断现有牌堆底能不能继续往下接,例如00123456.不能的话还是等1取出来再往下放。

AC代码:

#include<bits/stdc++.h>
using namespace std;
const int maxn = 2e5+;
int vis[maxn];
int a[maxn];
int b[maxn];
int n;
bool check(int b[])
{
int i;
bool flag = true;
for(i = ;i < n;i++)
{
if(b[i] == ) break;
}
if(i == n) return false;
for(i = i + ;i < n;i++)
{
if(b[i] != b[i-] + ) flag = false;
}
return flag;
}
int main()
{
int *it = b;
int t = ;
int ans = ;
bool flag = false;
cin >> n;
for(int i = ;i < n;i++) cin >> a[i],vis[ a[i] ] = ;
for(int i = ;i < n;i++) cin >> b[i];
if(check(b)) t = b[n-] + ,flag = true;
while(t <= n)
{
if(!flag)
{
if(vis[t])
t++;
ans++;
vis[*it]++;
it++;
}
else{
if(vis[t])
t++;
else
{
ans = ;
t = ;
it = b;
for(int i = ;i < n;i++) vis[i] = ;
for(int i = ;i < n;i++) vis[ a[i] ] = ;
flag = false;
continue;
}
ans++;
vis[*it]++;
it++;
} }
cout << ans;
return ;
}

最新文章

  1. 局域网单机部署双tomcat内外网不能访问防火墙问题查出来
  2. mysql定时脚本(event),类似oracle的job
  3. 被误解的 MVC 和被神化的 MVVM
  4. Linux: service network/Network/NetworkManager
  5. 我写的一个 Qt 显示图片的控件
  6. DefaultHttpClient is deprecated 【Api 弃用]】
  7. wpf CollectionViewSource与ListBox的折叠、分组显示,及输入关键字 Filter的筛选
  8. ctf中常见注入题源码及脚本分析
  9. python中os.path.dirname(__file__) 命令行 参数没有绝对路径导致数据库找不到
  10. git在多迭代版本的应用
  11. Vue入门笔记(二)--基础部分之条件渲染
  12. IDEA部署项目和多余的项目删掉的演示
  13. JAVA高级篇(二、JVM内存模型、内存管理之第二篇)
  14. IntelliJ IDEA使用心得
  15. 【转】先说IEnumerable,我们每天用的foreach你真的懂它吗?
  16. 数据结构与算法--最短路径之Floyd算法
  17. November 17th 2016 Week 47th Thursday
  18. 简单去除exe自校验方式
  19. gcc编译出错---make[5]: *** [s-attrtab] Killed
  20. win10系统添加照片查看器(win7版)

热门文章

  1. Django框架(十五)—— forms组件、局部钩子、全局钩子
  2. 【题解】Ride to Office
  3. bitmat
  4. Groovy学习:第四章 Groovy特性深入
  5. Spring学习笔记(1)——初识Spring
  6. 下载文件时HttpServletResponse设置响应头的Content-Disposition属性
  7. java获取网页源代码并写入本地文件中
  8. spring基于xml的事务控制
  9. VUE.JS 环境配置
  10. (好题)2017-2018 ACM-ICPC, Asia Tsukuba Regional Contest F Pizza Delivery