可以说是非常愚蠢了,看错题之后又提交了n次才成功。
原题说明链接 http://acm.hdu.edu.cn/showproblem.php?pid=1008
一开始没看到第一个数字是表示数目,纠结了半天看不懂样例输出尴尬。
看了网上的教程也直接注意到 原来继续停留在同一楼层要+5s。算是提前知道了吧。
第一次提交的代码
#include <stdio.h>
int main( )
{
int a [ 105 ] ;
int n, i, sum;
a [ 0 ] = 0 ;
sum = 0;
while ( scanf ("%d",&n) && n != 0 )
{
for ( i = 1 ; i <= n; i++ )
scanf( "%d",&a[ i ] );
for ( i = 1 ; i <= n; i++ )
{
if ( a [ i ] > a [ i - 1 ] )
sum = sum + ( a [ i ] - a [ i -1 ] ) * 6 + 5 ;
else if ( a [ i ] < a [ i - 1 ])
sum = sum + ( a [ i - 1 ] - a [ i ] ) * 4 + 5 ;
else if ( a [ i ] = a [ i - 1 ] )
sum = sum + 5;
}
printf ("%d\n",sum);
}
return 0 ;
}
但是第一次测试数据的时候好像也没发现有错误???
但提交一直说结果错误???
最后看了网上的代码才对比出错误,真是愚蠢,犯了两次同样的错误。
正确代码如下
#include <stdio.h>
int main( )
{
int a [ 105 ] ;
int n, i, sum;
while ( scanf ("%d",&n) && n != 0 )
{
a [ 0 ] = 0;
sum = 0;
for ( i = 1 ; i <= n; i++ )
scanf( "%d",&a[ i ] );
for ( i = 1 ; i <= n; i++ )
{
if ( a [ i ] > a [ i - 1 ] )
sum = sum + ( a [ i ] - a [ i -1 ] ) * 6 + 5 ;
else if ( a [ i ] < a [ i - 1 ])
sum = sum + ( a [ i - 1 ] - a [ i ] ) * 4 + 5 ;
else if ( a [ i ] = a [ i - 1 ] )
sum = sum + 5;
}
printf ("%d\n",sum);
}
return 0 ;
}
感谢各位网上的大佬们!!!