小球下落
来源:互联网 发布:gear vr 优化 编辑:程序博客网 时间:2024/04/26 15:01
package com.supermars.practice;
import java.io.BufferedInputStream;
import java.io.PrintStream;
import java.util.Arrays;
import java.util.Scanner;
public class 小球下落 {
static Scanner cin = new Scanner(new BufferedInputStream(System.in));
static PrintStream cout = System.out;
final static int MAXD=20;
static int[] s = new int[1<<MAXD];
public static void main(String[] args) {
Arrays.fill(s, 0);
while (cin.hasNext()) {
int D = cin.nextInt();
int I = cin.nextInt();
int k = 0, n = (1 << D) - 1; // n=maxNodeNumber
for (int i = 0; i < I; i++) {
k = 1; // rootNode
while (true) {
s[k] = s[k]==0?1:0;
//System.out.println("i="+i+" "+s[k]);
k = s[k] == 1 ? k * 2 : k * 2 + 1;
if (k > n)
break;
}
}
cout.printf("%d\n",k/2);
}
}
}
import java.io.BufferedInputStream;
import java.io.PrintStream;
import java.util.Arrays;
import java.util.Scanner;
public class 小球下落 {
static Scanner cin = new Scanner(new BufferedInputStream(System.in));
static PrintStream cout = System.out;
final static int MAXD=20;
static int[] s = new int[1<<MAXD];
public static void main(String[] args) {
Arrays.fill(s, 0);
while (cin.hasNext()) {
int D = cin.nextInt();
int I = cin.nextInt();
int k = 0, n = (1 << D) - 1; // n=maxNodeNumber
for (int i = 0; i < I; i++) {
k = 1; // rootNode
while (true) {
s[k] = s[k]==0?1:0;
//System.out.println("i="+i+" "+s[k]);
k = s[k] == 1 ? k * 2 : k * 2 + 1;
if (k > n)
break;
}
}
cout.printf("%d\n",k/2);
}
}
}
0 0
- 小球下落
- 小球下落
- 小球下落
- 小球下落
- 小球下落
- 小球下落
- 小球下落
- 小球下落
- 小球下落
- 小球下落
- 小球下落
- 小球下落
- 小球下落
- 小球下落
- 小球下落
- [算法]小球自由下落
- 小球下落问题
- 【小球下落 P99】
- 拓扑排序模板
- 查找二叉树的简单认识
- 【实现】最大连续子序列和——第7周《算法》课程提到的 google笔试题/浙大研究生复试机试题
- OpenGL第一话 Win8+VS2012 OpenGL环境搭建
- 黑马程序员_常用类整理
- 小球下落
- 如何用一条sql语句删除表中所相同的记录?
- 八周 项目4 虽然不是自己的原文 而且也不大懂 但也有我的修改 有我的收获
- vim中多标签和多窗口的使用
- ACMjava子集生成的三种方法,增量构造,辅助位向量,二进制法
- unity 默认函数的意思
- Windows内核原理与实现--Windows进程线程基本概念(1)
- scrollview grid 坑爹的经历
- shell程序设计(3)