西西弗斯式的命运
来源:互联网 发布:凯文约翰逊生涯数据 编辑:程序博客网 时间:2024/04/28 08:09
http://acm.sjtu.edu.cn/OnlineJudge/problem/1004
Description
古希腊有个关于西西弗斯的神话:
西西弗斯被众神判决推运一块石头至山顶。由于巨石本身的重量,它被推到山顶却又总要滚下山脚。于是西西弗斯又得把石块推上山去。如此反复,永无止境,没有尽头。众神认为,让西西弗斯服这永恒的劳役是最严酷的惩罚。
二哥被押入地狱。他被众神判决扛着一块巨砖在山路上走,再原路返回,如此反复,没有尽头。
众神规定二哥独自走山路的时间不得超过M秒(
二哥要花U秒(
二哥对生活充满激情,但他遭受着难以用言语尽述的非人折磨:痛苦扭曲的脸,被巨砖死死压住的抖动的肩膀,沾满泥土的双脚,呕心沥血,不停的工作。这是典型的西西弗斯式的命运。贝多芬,歌德,叔本华,你才,还有高斯,爱因斯坦的命运,都是典型的西西弗斯式的命运,无一例外。
众神想让二哥能在按时返回的前提下,走最远的路。所以众神向知道他最多能在这条山路上走多远。
Input Format
第1行:5个空格隔开的整数:M,T,U,F,D。
第2..T+1行:第i+1行有一个字母Si,描述第i段山路的路况。
Output Format
一行,有一个整数为二哥在按时回到起点前提下,最多能跑到多远。
Sample Input
13 5 3 2 1ufudf
Sample Output
3
样例解释
众神规定二哥的最大耗时为13秒,他跑步的山路一共被划分成5段。二哥走完一段上坡的耗时为3秒,平地为2秒,下坡为1秒。
二哥走完山路的前3段,然后返回,总耗时为3+2+3+1+2+1=12秒,如果他跑得更远,就无法按时回到起点。
*************************************************************************************************************************
用两个数组来保存去到i 段是用的秒数,和从第i段回来用的秒数。
这道题比较简单,就直接上代码了#include <iostream>#include <string>using namespace std;int main(){unsigned int M; //最去回秒数unsigned int T; //山路段数unsigned int U; //上坡秒数unsigned int F; //平路秒数unsigned int D; //下坡秒数char road;cin>>M>>T>>U>>F>>D;unsigned int *go = new unsigned int[T];unsigned int *back = new unsigned int[T];for(unsigned int i = 0 ; i< T; i ++){go[i] = 0;back[i] = 0;}for(unsigned int i = 0; i < T; i++){cin>>road;switch(road){case 'u':if(0 == i){go[i] = U;back[i] = D;}else{go[i] = U + go[i-1];back[i] = D + back[i-1];}break;case 'f':if(0 == i){go[i] = F;back[i] = F;}else{go[i] = F + go[i-1];back[i] = F + back[i-1];}break;case 'd':if(0 == i){go[i] = D;back[i] = U;}else{go[i] = D + go[i-1];back[i] = U + back[i-1];}break;}}int j = 0;while((go[j]+back[j]) <= M && j < T){j++;}cout<<j;return 0;}
时间:0ms / 内存:48024kb
- 西西弗斯式的命运
- 西西弗斯式的命运
- 1004西西弗斯式的命运
- sjtu 1004 西西弗斯式的命运
- ACM 1004. 西西弗斯式的命运
- 算法之路之征服上海交大的oj-西西弗斯式的命运
- 偷懒的西西【推荐】
- 1481. 偷懒的西西
- jzoj1481. 偷懒的西西
- 西西
- 西西
- 西西弗斯的神话
- JZOJsenior1481.偷懒的西西【推荐】
- TMAC------NBA的西西弗斯
- Debug与Trace的区别?//作者:西西
- <单调队列><二分>4.偷懒的西西
- 向老虎诉苦的人--贝西西
- 砌墙工人的命运
- 远程监控之图形处理杂谈
- hdu1505 暴力或dp优化
- Linux 命令行学习(持续更新中)
- 博客更新迁移到新地址
- 作业
- 西西弗斯式的命运
- 通过SPY++实测WinForm和WPF控件的差异
- Java对象转型
- 第六周
- 肌酐清除率计算公式/肌酐清除率与尿肌酐、血肌酐的关系
- IOS 编程基础知识 [IOS]编程必知
- 阿里笔试 数组指针与指针数组
- 2014-4-1 what can spring do for you ?
- 回合制战斗设计