算法-java版算法竞赛入门解题代码-第3章习题
来源:互联网 发布:大禹 知乎 编辑:程序博客网 时间:2024/05/23 23:53
//例题3-1
//开灯问题public class test3_1 {
public static void main(String[] args) {
int n = 7;
int k = 3;
boolean[] b= new boolean[n+1];
for (int j = 2; j <= k; j++) {
for (int i = 1; i < b.length; i++) {
if(i%2==0){ //如果是2的倍数 就关闭所有灯 关闭值为true
b[i] = true;
}
if(i%j==0){ //如果是第j个人true为 false; false为true
b[i] = !b[i];
}
}
}
for (int i = 1; i < b.length; i++) {
if(!b[i]){
System.out.print(i+" ");
}
}
}
}
//例题3-2 蛇形填数
*
* 1 2 3 4
* 12 13 14 5
* 11 16 15 6
* 10 9 8 7
*
*/
public class Test {
public static void main(String[] args) {
int n = 10;
int x=0,y=0,count=0;
int[][] arr = new int[n][n];
count = arr[x][y] =1;
while(count<n*n){//数组能填的数的范围是 数1--数n*n
//准备要移动的下标不越界 并且 准备要移动的下标的没有值
//后面的条件是可以判断 准备要移动的下标有值的话 下标就不动
//那么就结束这次方向的移动~ 从而 下标就从当前位置开始换方向移动
//意思就是:
//我这次方向的移动要找到尽头, 值不为0就相当于尽头
//既然这次准备再移动一次是尽头,那么现在站在原地的我就换下一个方向移动
//就不会走过刚刚走过的地方
//这样范围就越变越小 最终会走到最里层
while(y+1<n&&arr[x][y+1]==0){
arr[x][++y] = ++count;//向左移动
}
while(x+1<n&&arr[x+1][y]==0){
arr[++x][y] = ++count;//向下移动
}
while(y-1>=0&&arr[x][y-1]==0){
arr[x][--y] = ++count;//向左
}
while(x-1>=0&&arr[x-1][y]==0){
arr[--x][y] = ++count;//向上
}
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]+" ");
}
System.out.println(" ");
}
}
}
- 算法-java版算法竞赛入门解题代码-第3章习题
- 算法-java版算法竞赛入门解题代码-第2章习题
- 算法竞赛入门经典第3章【小结与习题】
- 算法竞赛入门经典 第3章 习题答案
- 算法竞赛入门经典第3章【小结与习题】
- 算法竞赛入门经典第3章习题
- 算法竞赛入门经典第1章【小结与习题】
- 算法竞赛入门经典第2章【小结和习题】
- 算法竞赛入门经典 第1章 习题解答
- 算法竞赛入门经典 第2章 习题答案
- 《算法竞赛入门经典》第1章习题总结
- 《算法竞赛入门经典》第2章习题总结
- [刷题]算法竞赛入门经典 第2章习题
- 算法竞赛入门经典(第2版)习题3-3 数数字 Digit Counting UVa1225
- 《算法竞赛入门经典》(第2版)第二章习题
- 算法竞赛入门经典(第2版)习题3-1 得分 Score UVa1585
- 算法竞赛入门经典(第2版)习题3-2 分子量 Molar Mass UVa1586
- 算法竞赛入门经典(第2版)习题3-4 周期串 Periodic Strings UVa445
- 12 ListView
- HDU1159——Common Subsequence
- mkfifo 创建管道IO 进程间交互
- poj-2516-Minimum Cost-最小费用最大流
- 13 Dialog
- 算法-java版算法竞赛入门解题代码-第3章习题
- linux安装jdk1.7
- 关于log4j:WARN No appenders could be found for logger (org.apache.commons.digest错误
- GCC常用的编制指令
- 14 AutoCompleteTextView
- Ubuntu下安装usbview
- ORA-00845: MEMORY_TARGET not supported on this system
- 关于WIN7安装SQL Server的若干问题
- 网络游戏行业研究