描述

在2009的中国城市足球比赛中,在2^N支队中,有一些队在开赛前宣布了退出比赛。比赛采取的是淘汰赛。比如有4支队伍参加,那么1队和2队比赛,3队和4队赛,然后1队和2队的胜者与3队和4队的胜者争夺冠军。但是由于某些队伍退出,那么如果某个原本存在的比赛只有一个支队,那么这一支队自动晋级,如果没有队伍出现,那么就跟本没有比赛。比如,1队和2队退出比赛,那么就只有3队和4队的比赛,然后其胜者在原本和1队和2队的胜者的决赛中自动晋级,成为冠军。

给出哪些队退出的比赛计算会有多少场比赛中队伍自动晋级。

输入

第一行有两个数N(1<=N<=10),M。接下来有M个数,表示哪些队退出了比赛。选手编号从1到2

输出

在第一行输出有多少场比赛中队伍自动晋级。

输入样例 1

2 2
3 4

输出样例 1

1

输入样例 2

3 5
1 2 3 4 5

输出样例 2

2

输入样例 3

2 1
2

输出样例 3

1

整个赛程就像一棵树 可以模拟树来做

2的n次方树树  也就是深度为n的树

最底层的数组下标就是  L=1<<n   R= (1<<(n+1) )-1    运算符<<的优先级比较低、
知道这个特性之后模拟即可
#include<bits/stdc++.h>
using namespace std;
//input by bxd
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define repp(i,a,b) for(int i=(a);i>=(b);i--)
#define RI(n) scanf("%d",&(n))
#define RII(n,m) scanf("%d%d",&n,&m)
#define RIII(n,m,k) scanf("%d%d%d",&n,&m,&k)
#define RS(s) scanf("%s",s);
#define LL long long
#define pb push_back
#define fi first
#define REP(i,N) for(int i=0;i<(N);i++)
#define CLR(A,v) memset(A,v,sizeof A)
///////////////////////////////////
#define inf 0x3f3f3f3f
#define N 10100+5 int vis[<<];
int main()
{
int n,m;
RII(n,m);
while(m--)
{
int x;
RI(x);
vis[(<<n)+x-]=;
}
int L=<<n;
int R=(<<(n+)) -;
rep(i,L,R)
vis[i]=-vis[i];
int cnt=;
while(L!=R)
{
for(int i=L;i<=R;i+=)
{
if(vis[i]!=vis[i+])
cnt++,vis[i/]=;
if(vis[i]==&&vis[i+]==)
vis[i/]=;
}
L>>=;
R>>=;
}
cout<<cnt;
return ;
}

最新文章

  1. [LeetCode] Verify Preorder Serialization of a Binary Tree 验证二叉树的先序序列化
  2. C#winfrom播放器动态加载歌词
  3. C# 文件类型
  4. json转化为java实体
  5. BZOJ 1607: [Usaco2008 Dec]Patting Heads 轻拍牛头 筛法
  6. 【数学/扩展欧几里得/线性求逆元】[Sdoi2008]沙拉公主的困惑
  7. 返回canceled 代码 的原因
  8. leetcode@ [329] Longest Increasing Path in a Matrix (DFS + 记忆化搜索)
  9. keychain 多应用共享数据
  10. 使用游标循环进行SQL更新插入的SQL语句
  11. 剑指offer-面试题10:二进制中1的个数
  12. 删除input或textarea输入框在移动版显示的阴影(Safari/iPhone)
  13. 性能测试培训: 监控CPU之python
  14. 快速构建H5单页面切换应用
  15. IntelliJ IDEA下的使用git
  16. python异常捕捉以及处理
  17. poj2594 机器人寻找宝藏(最小路径覆盖)
  18. Git中设置代理和取消代理
  19. Django开发笔记六
  20. 使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能

热门文章

  1. Spring中的Bean配置
  2. VxWorks Fuzzing 之道:VxWorks 工控实时操作系统漏洞挖掘调试与利用揭秘
  3. Java SE之字符串常量池
  4. CF448C Painting Fence (贪心分治)
  5. Flask最强攻略 - 跟DragonFire学Flask - 第八篇 实例化Flask的参数 及 对app的配置
  6. 【SVN】svn使用方法
  7. mysql原理~二阶段提交
  8. Three.js基础探寻二——正交投影照相机
  9. Java 集合系列0、概述
  10. libevent 和 libev 提高网络应用性能