1004. 西西弗斯式的命运——java

1004. 西西弗斯式的命运

Description

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

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

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

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

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

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

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

Input Format

第1行:5个空格隔开的整数:M,T,U,F,D。

第2..T+1行:第i+1行有一个字母Si,描述第i段山路的路况。

Output Format

一行,有一个整数为二哥在按时回到起点前提下,最多能跑到多远。

Sample Input

13 5 3 2 1
u
f
u
d
f

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);
	}

}

  

1004. 西西弗斯式的命运——java

时间: 2025-01-01 11:49:25

1004. 西西弗斯式的命运——java的相关文章

什么是函数响应式编程(Java&amp;Android版本)

什么是函数响应式编程(Java&Android版本) 原文链接:http://www.bignerdranch.com/blog/what-is-functional-reactive-programming/ 函数响应式编程(FRP)为解决现代编程问题提供了全新的视角.一旦理解它,可以极大地简化你的项目,特别是处理嵌套回调的异步事件,复杂的列表过滤和变换,或者时间相关问题. 我将尽量跳过对函数响应式编程学院式的解释(网络上已经有很多),并重点从实用的角度帮你理解什么是函数响应式编程,以及工作中

每周工作4小时,蒂莫西&#183;费里斯 最理想的工作方式和生活方式,QQ群666243547

内容简介  · · · · · · <每周工作4小时>是一本从观念到行为,彻底改变你的工作方式和生活方式的书.它既是数字时代的职场励志书和创业指导书,也是新新人类的全球化生存手册和人生哲学书,中文简体字版将它定位为“全球化3.0个人版”. 自2007年4月出版以来,这本书先后登上<华尔街日报>.<纽约时报>.<商业周刊>畅销书榜榜首,迄今已在全球29个国家和地区售出版权.和<世界是平的>一样,这是一本正在影响世界的书. 全书以作者本人的创业经历和

正則表達式基础及java使用

正則表達式基础 正則表達式语法(1) 普通字符:字母,数字.汉子,下划线以及没有特殊定义的标点符号都是"普通字符".表达式中的普通字符.在匹配一个字符串的时候,匹配与之同样的一个字符 简单的转义字符: \n :代表换行符 \t :代表制表符 \\ :代表\本身 \^ ......  :代表匹配这字符本身 正則表達式语法(2) 标准字符集合: 可以与多种字符匹配的表达式 注意区分大写和小写,大写是相反的意思 \d :随意一个数字,0-9中的随意一个 \w:随意一个字母或者下划线或者汉字.

Java8 流式 API(`java.util.stream`)

熟悉 ES6 的开发者,肯定对数组的一些方法不是很陌生:map.filter 等.在对一组对象进行统一操作时,利用这些方法写出来的代码比常规的迭代代码更加的简练.在 C? 中,有 LINQ 来实现.那么在 Java 中有这样的操作吗?答案是有的,Java8 中引入了大量新特性,其中一个就是 Java 的流式 API. 在 Java 8 中,流(Stream)与迭代器类似,都是用来对集合内的元素进行某些操作.它们之间最大的差别,是对迭代器的每个操作都会即时生效,而对流的操作则不是这样.流的操作有两

拿什么心情来阅读我的代码(程序员的必备心理技能)

原文首发于我的微信公众号:GeekArtT . 阅读源代码的开始阶段,最好从感兴趣.自己有直观感受且有相对丰富准确的文档的项目开始.如同最开始阅读数学证明,最好从浅显易懂的教材开始,之后再开始最前沿的paper阅读. 阅读源代码需要同阅读证明一样的耐心,甚至更多.数学的定义或许就在前一页,可是源代码的某个新的类却需要你不断地Google,进而找到适合自己的关于原始概念的定义论述. 阅读源代码一定要放空自己的心,要做好精心死磕的准备.至少要在心理上给自己留出足够多的空间与时间.大不了拿出大段时间去

电子病历,到底是用BS还是CS

袁永福 2014-8-19 前言:前几天下午去开发医疗软件的S公司,旁听了他们的内部技术讨论会议.他们目前的电子病历是B/S架构,会上一群人讨论起用C/S重构电子病历系统的可行性,于是引出了本文的题目:电子病历,到底是用B/S还是C/S. 电子病历等医疗信息化系统到底是用B/S模式还是C/S模式.这是一个长期以来困扰着许多甲方和乙方的基础性的技术问题.过去困扰了,现在还在困扰,估计将来还会困扰. 这个问题真的是可以花开两朵,各表一枝了.首先说说B/S模式. B/S模式最为称赞的特点就是部署.维护

复杂性与复杂系统初探

1. 复杂性的学术发展历史 0x1:复杂系统的起源 -- 还原论 在介绍复杂系统之前,我们先来简单介绍一下还原论,还原论是对这个世界最自然的理解方式.它的核心思想是:“如果你理解了整体的各个部分,以及把这些部分‘整合’起来的机制,你就能够理解这个整体”. 一个最著名的例子就是牛顿的牛顿定律以及随之而来的“钟表宇宙”理论. 牛顿的定律则是动力学的基础,它们用力和质量作为基本概念解释了一切物体的运动,包括行星. 下面是著名的牛顿三大定律: 在任何情况下,一切物体在不受外力作用时,总保持静止或匀速直线

【转载】快速掌握一个语言最常用的50%

原文:快速掌握一个语言最常用的50% 现在的开发工作要求我们能够快速掌握一门语言.一般来说应对这种挑战有两种态度:其一,粗粗看看语法,就撸起袖子开干,边查Google边学习:其二是花很多时间完整地把整个语言学习一遍,做到胸有成竹,然后再开始做实际工作.然而这两种方法都有弊病.第二种方法的问题当然很明显,不仅浪费了时间,偏离了目标,而且学习效率不高.因为没有实际问题驱动的语言学习通常是不牢固不深入的.有的人学着学着成了语言专家,反而忘了自己原本是要解决问题来的.第一种路子也有问题,在对于这种语言的

令人作呕的OpenSSL

在OpenSSL心脏出血之后,我相信非常多人都出了血,而且流了泪...网上瞬间出现了大量吐嘈OpenSSL的文章或段子,仿佛内心的窝火一瞬间被释放了出来,跟着这场疯闹,我也吐一下嘈,以雪这些年被OpenSSL蹂躏之辱,或许能够顺便展现一下我的无知与愚昧,但仅仅是或许...       首先声明的一点是,我并没有恶意诋毁的意思,也并没有针对什么,比起生活中的大喜大悲,比起工作中的大起大落,比起追求理想过程中的遭遇坎坷,OpenSSL的折磨其实是一种幸福,仅仅是对幸福的解读,有时能够认为是,痛并快乐