2015 第六届 蓝桥杯 Java C组 第8题 矩阵排列
2015-04-11 16:21
375 查看
矩阵排列输入w m n ,w为宽度如宽度为6
1 2 3 4 5 6
12 11 10 9 8 7
13 14 15 16 17 18
24 23 22 21 20 19..........这样排,
输出m 到n的最短路径
如样式输入:6 10 20
输出 4
输入4 7 14
则输出 3
范围1<w,m,n<10000
解题思路:直接算出数的位置,算出位置的行列坐标差
1 2 3 4 5 6
12 11 10 9 8 7
13 14 15 16 17 18
24 23 22 21 20 19..........这样排,
输出m 到n的最短路径
如样式输入:6 10 20
输出 4
输入4 7 14
则输出 3
范围1<w,m,n<10000
解题思路:直接算出数的位置,算出位置的行列坐标差
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int w=sc.nextInt(); int m=sc.nextInt(); int n=sc.nextInt(); //行,从0行开始如果是宽度为6,m为4,取摩m%w=4 6-4=2 2/6=0表示第0行 如果是8就是 8%6=2 8-2=6 6/6=1表示第一行 int a=(m-m%w)/w; int A=(n-n%w)/w; //列,<span style="font-family: Arial, Helvetica, sans-serif;">从0行开始如果是宽度为6,m为10,取摩m%w=4</span> int b=m%w; if(a%2!=0)//偶数行则翻转 b=Math.abs(b-w)+1; int B=n%w; if(A%2!=0) B=Math.abs(B-w)+1; int sum = Math.abs(a-A)+Math.abs(b-B); System.out.println(sum); } }
相关文章推荐
- 2015第六届蓝桥杯 08 移动距离(java)
- 2015第六届蓝桥杯 08 饮料换购(java)
- 2015第六届蓝桥杯 09 打印大X(java)
- 2015第六届蓝桥杯 04 循环节长度(java)
- 2015第六届蓝桥杯Java软件开发本科B组部分题目和代码
- 2015第六届蓝桥杯 07 牌型种数(java)
- 2015 蓝桥杯第六届 省赛java A组第7题 扑克牌组合
- 2015第六届蓝桥杯 07 加法变乘法 (java)
- 2015第六届蓝桥杯 06 奇妙的数字 (java)
- 2015第六届蓝桥杯 02 立方变自身(java)
- 2015第六届蓝桥杯全国软件大赛省赛(预赛)总结
- 第六届蓝桥杯java试题-九数组分数
- 第六届蓝桥杯java试题-立方变自身
- 矩阵翻硬币(2014年蓝桥杯Java-B组第十题)
- [2016/03/14] 2015蓝桥杯省赛A组Java语言 真题略解
- 第六届蓝桥杯java组 叠骰子
- 蓝桥杯 幂一矩阵 2014年JavaB组决赛第5题
- 第六届蓝桥杯省赛试题--垒骰子 以矩阵的方法实现 解题报告
- 第六届蓝桥杯JAVAB组初赛第三题
- 2015第六届蓝桥杯决赛--方格填数(DFS)