基础练习 回形取数 (循环 + Java 输入输出外挂)
1 2 3
4 5 6
7 8 9
1 2
3 4
5 6
import java.util.*;
import java.io.*; public class Main{
public static int [][]a;
public static int []dr = {1, 0, -1, 0};
public static int []dc = {0, 1, 0, -1};
public static int n, m;
public static boolean isIn(int r, int c){
return r >= 0 && r < n && c >= 0 && c < m;
} public static void main(String []args){
Scanner cin = new Scanner(System.in);
n = cin.nextInt();
m = cin.nextInt();
a = new int[n+5][m+5];
for(int i = 0; i < n; ++i)
for(int j = 0; j < m; ++j)
a[i][j] = cin.nextInt();
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
out.print(a[0][0]);
a[0][0] = -1;
int idx = 0, r = 0, c = 0, cnt = 0;
while(++cnt < m * n){
while(true){
int x = r + dr[idx];
int y = c + dc[idx];
if(isIn(x, y) && a[x][y] != -1){
out.print(" " + a[x][y]);
a[x][y] = -1;
r = x; c = y;
break;
}
++idx;
if(idx >= 4) idx -= 4;
}
}
out.println();
out.flush();
}
}
基础练习 回形取数 (循环 + Java 输入输出外挂)的更多相关文章
- Java实现 蓝桥杯VIP 基础练习 回形取数
问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度.一开始位于矩阵左上角,方向向下. 输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列.接下来m ...
- 蓝桥杯 基础练习 BASIC-25 回形取数
基础练习 回形取数 时间限制:1.0s 内存限制:512.0MB 问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度.一开始位于矩阵左上角,方向向下. 输入格式 ...
- C语言 · 回形取数
基础练习 回形取数 时间限制:1.0s 内存限制:512.0MB 问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度.一开始位于矩阵左上角,方向向 ...
- 蓝桥杯—BASIC-25 回形取数
题目:回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度.一开始位于矩阵左上角,方向向下.输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列.接下来m行每行 ...
- 算法笔记_135:格子取数问题(Java)
目录 1 问题描述 2 解决方案 1 问题描述 有n*n个格子,每个格子里有正数或者0,从最左上角往最右下角走,只能向下和向右走,一共走两次(即从左上角往右下角走两趟),把所有经过的格子里的数加起 ...
- Java基础教程——使用Eclipse快速编写Java输入输出代码
Eclipse安装 IDE:Integrated Development Environment,集成开发环境.好比是全自动洗衣机. 此处使用[eclipse-jee-4.6-neon-3-win32 ...
- BASIC-25_蓝桥杯_回形取数
示例代码: #include <stdio.h>#define N 200 int main(void){ int num[N][N]; int i= 0, j = 0 , k = 0 , ...
- Java实现 蓝桥杯VIP 算法训练 方格取数
问题描述 设有NN的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0. 某人从图的左上角的A 点(1,1)出发,可以向下行走,也可以向右走,直到到达右下角的B点 ...
- 51Nod 1083 矩阵取数问题(矩阵取数dp,基础题)
1083 矩阵取数问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 一个N*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,从左上走到右下,只能向下 ...
随机推荐
- C#中委托
委托是一种安全地封装方法的类型,它与 C 和 C++ 中的函数指针类似.与 C 中的函数指针不同,委托是面向对象的.类型安全的和保险的.一个委托类型是代表与特定参数列表和返回类型的方法的引用类型.实例 ...
- Git 安装和使用教程(更加详细)
转载至:https://www.cnblogs.com/smuxiaolei/p/7484678.html#undefined Git 安装和使用教程 git 提交 全部文件 git add . g ...
- Vue vue.extend 和vue.component 两则之间的区别
Vue.extend 返回的是一个 扩展实例构造器, 也就是一个预设了部分选项的Vue实例构造器 Var myExtend = Vue.extend({ //预设选项 })//返回一个 扩展实例构造器 ...
- Docker原生网络技术简介
Docker原生网络技术简介 默认网络 在宿主机部署好Docker Engine后会默认创建三种网络:Bridge.Host和None,如下: docker network ls NETWORK ID ...
- kvm介绍 转载
KVM 介绍(1):简介及安装 学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I ...
- iOS.GetCurrentTimestamp
Cocoa 中测量时间的方法 1. The Methods to Get Current Timestamp iOS中获取时间戳的方法: A. CACurrentMediaTime() B. gett ...
- java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
在Tomcat下部署应用时会报这个错误,参考以下这篇博客:http://blog.csdn.net/robinsonmhj/article/details/37653189,删除Tomcat目录下we ...
- VirtualBox安装android-x86-4.4-r2
https://jingyan.baidu.com/album/a681b0de1373133b184346cf.html?picindex=10
- Python之路(第十二篇)程序解耦、模块介绍\导入\安装、包
一.程序解耦 解耦总的一句话来说,减少依赖,抽象业务和逻辑,让各个功能实现独立. 直观理解“解耦”,就是我可以替换某个模块,对原来系统的功能不造成影响.是两个东西原来互相影响,现在让他们独立发展:核心 ...
- Python3实战系列之四(获取印度售后数据项目)
问题:续接上一篇.说干咱就干呀,勤勤恳恳写程序呀! 目标:此篇开始进入正题了.为实现我们整个项目功能而开始实现各个子模块功能.首先实现第一篇列出的分步功能模块的第一步: 1.python访问ftp,下 ...