心如止水
Je n'ai pas le temps
posts - 400,comments - 130,trackbacks - 0
如果有足够时间返回,就继续向前走。
以下是我的代码:
#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;
}
posted on 2010-10-18 15:01 lee1r 阅读(375) 评论(0)  编辑 收藏 引用 所属分类: 题目分类:基础/模拟

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理