作业帮 > 综合 > 作业

ACM,我写的此题算法超时了,怎样改进啊!

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/20 02:23:26
ACM,我写的此题算法超时了,怎样改进啊!
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
__________________________________________________________________
我的算法如下,但超了,#include
#define MAXSIZE 100
int min(int x,int y)
{
if(xy)
return x;
else
return y;
}
main()
{
int a[MAXSIZE][MAXSIZE],b[MAXSIZE][MAXSIZE];
int i,j,p,q,N,k=0;
int true=1;
while(true)
{
scanf("%d",&N);
for(i=0;i
哎,又是这个问题.做ACM题,一定要记得,不能用while(true),否则会超时.改正后,还不行,我再帮你看.