tyvj P1003 越野跑

tyvj P1003 越野跑
如果有足够时间返回,就继续向前走。
以下是我的代码:
#include < iostream >
#include
< string >
#define  maxn 100007
using   namespace  std;

int  main()
{
    
long  n,m,u,f,d,cnt,ans,r[maxn];
    
    cin
>> m >> n >> u >> f >> d;
    
for ( long  i = 1 ;i <= n;i ++ )
    {
        
string  s;
        cin
>> s;
        
switch (s.at( 0 ))
        {
            
case   ' u ' :r[i] = 1 ; break ;
            
case   ' f ' :r[i] = 2 ; break ;
            
case   ' d ' :r[i] = 3 ;
        }
    }
    
//   Input
    
    cnt
= ans = 0 ;
    
for ( long  i = 1 ;i <= n;i ++ )
        
if (r[i] == 1 || r[i] == 3 )
        {
            
if (cnt + u + d <= m)
            {
                cnt
+= u + d;ans ++ ;
            }
            
else   break ;
        }
        
else   if (r[i] == 2 )
        {
            
if (cnt + f + f <= m)
            {
                cnt
+= f + f;ans ++ ;
            }
            
else   break ;
        }
    
    cout
<< ans << endl;
    
//   Output
return   0 ;
}

你可能感兴趣的:(tyvj P1003 越野跑)