Problem 1031 - 走楼梯

本文介绍了ZYF喜欢的一项活动——走楼梯。给定每两层楼间的楼梯级数、电梯到达的楼层和实验室楼层,如何计算ZYF走楼梯到实验室的步数。通过Java程序实现,对不同情况进行了判断并输出所需走的楼梯级数。
摘要由CSDN通过智能技术生成
Description

  ZYF最喜欢的活动是走楼梯!所以他每次去实验室总会坐电梯随机到一个楼层,然后走楼梯到实验室所在的楼层,并为此得意不已。现在的问题来了,已经知道每两层楼之间的楼梯级数、ZYF坐电梯要到达的楼层、实验室所在楼层,那么ZYF每次得走多少级楼梯才能到达实验室?

Input
输入数据的第一行是一个正整数T(0<T≤100),表示有T组测试数据。 
每组测试数据有两行:第一行为三个整数N, A, B(0<N≤100, 0<A, B≤N),表示有N层楼,ZYF坐电梯到的楼层A,实验室所在楼层为B;第二行包括N–1个整数,其中第i个整数代表从第i层到第i + 1层之间的楼梯级数Si(0<Si≤100)。
Output
对于每组测试数据,在一行上输出一个整数P,表示ZYF到实验室所在楼层需要走P级楼梯。
Sample Input
3
6 1 5
10 10 10 10 10
6 5 1
10 10 10 10 10
10 3 7
1 2 3 4 5 6 7 8 9
Sample Output
40
40

18


===============================================================


package algorithm;


import java.util.Scanner;


public class xidian003 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int num; //测试数据的组数
int n,a,b; //楼的层数、坐电梯到达的层、目的地
num=scanner.nextInt();
int count;  //需要走的台阶数
int step[]=new int[100];
for (int i = 0; i < num; i++) {
n=scanner.nextInt();
a=scanner.nextInt();
b=scanner.nextInt();
count=0;
for (int j = 0; j < n-1; j++) {
step[j]=scanner.nextInt();
}

if (a==b) {
System.out.println(0);
}else if(a<b){
for (int j = a-1; j < b-1; j++) {
//System.out.println("step[]"+j+" :"+step[j]);
count+=step[j];
}
System.out.println(count);
}else {
for (int j = b-1; j < a-1; j++) {
//System.out.println("step[]"+j+" :"+step[j]);
count+=step[j];
}
System.out.println(count);
}

}

}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值