博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1004. 西西弗斯式的命运——java
阅读量:7107 次
发布时间:2019-06-28

本文共 1768 字,大约阅读时间需要 5 分钟。

Description

古希腊有个关于西西弗斯的神话:

西西弗斯被众神判决推运一块石头至山顶。由于巨石本身的重量,它被推到山顶却又总要滚下山脚。于是西西弗斯又得把石块推上山去。如此反复,永无止境,没有尽头。众神认为,让西西弗斯服这永恒的劳役是最严酷的惩罚。

二哥被押入地狱。他被众神判决扛着一块巨砖在山路上走,再原路返回,如此反复,没有尽头。

众神规定二哥独自走山路的时间不得超过M秒( 1M10,000,000 )。整条山路被划分成T个长度相同的小段( 1T100,000 ),并且,众神用Si表示第i个小段的路况。Si为u,f,d这3个字母之一,它们分别表示第i个小段是上坡、平地、下坡。

二哥要花U秒( 1U100 )才能走完一段上坡路,走完一段平地的耗时是F秒( 1F100 ),走完一段下坡路要花D秒( 1D100 )。注意,沿山路原路返回的时候,原本是上坡的路段变成了下坡路,原本是下坡的路段变成了上坡路。

二哥对生活充满激情,但他遭受着难以用言语尽述的非人折磨:痛苦扭曲的脸,被巨砖死死压住的抖动的肩膀,沾满泥土的双脚,呕心沥血,不停的工作。这是典型的西西弗斯式的命运。贝多芬,歌德,叔本华,你才,还有高斯,爱因斯坦的命运,都是典型的西西弗斯式的命运,无一例外。

众神想让二哥能在按时返回的前提下,走最远的路。所以众神向知道他最多能在这条山路上走多远。

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秒,如果他跑得更远,就无法按时回到起点。

 

这道题是真心水,但是我却用了8次才AC,实在是丢人、、、这一切都是傻逼的java输入、、我靠坑死我了,不说了代码如下:

import java.util.Scanner;public class Main {		private static Scanner in;	public static void main(String[] args) {		in = new Scanner(System.in);		int M = in.nextInt(); //时间不得超过M秒		int T=in.nextInt();//山路被划分成T个长度相同的小段		int U=in.nextInt();//走完一段上坡路		int F=in.nextInt();//走完一段平地的耗时是F秒		int D=in.nextInt();//走完一段下坡路要花D秒		String str[] =new String[T+1];		str[0] = in.nextLine();		for(int i=1;i<=T;i++){			str[i]=in.nextLine();		}		int go=0;		int back=0;		int count=0;		for(int i=1;i<=T;i++){			char ch[] = str[i].toCharArray();			 if(ch[0]=='u'){				 go = go+U;				 back=back+D;			 }else if(ch[0]=='f'){				 go=go+F;				 back=back+F;			 }else if(ch[0]=='d'){				 go=go+D;				 back=back+U; 			 }			 if((go+back)<=M){				count++;			 }		}		System.out.print(count);	}}

  

转载于:https://www.cnblogs.com/969059506-java/p/3805151.html

你可能感兴趣的文章
CentOS-6.5安装配置Tengine
查看>>
机器视觉之 ICP算法和RANSAC算法
查看>>
为什么GOF的23种设计模式里面没有MVC?
查看>>
[WebGL入门]十,矩阵计算和外部库
查看>>
SQL 存储过程(转帖摘录)
查看>>
网页中元素斜这显示
查看>>
JavaScipt面向对象编程----闭包
查看>>
为什么写技术博客对新人如此重要?
查看>>
Arduino 数码管LED屏驱动
查看>>
做一个略调皮的个人主页--游戏篇
查看>>
Token验证失败
查看>>
jconsole监控远程linux tomcat运行情况的配置 (转)
查看>>
我是怎样成长为系统架构师的
查看>>
memwatch的使用
查看>>
DRY原则和Shy原则
查看>>
Microcontroller measures resistance without an ADC
查看>>
前端翻译:Promises/A+规范
查看>>
PHP 7: PHP 变量和常量的定义
查看>>
ci配置smarty手记
查看>>
微信服务号模板消息接口新增"设置行业"和"添加模板"及细节优化
查看>>