洛谷P1615 西游记公司

 

题目背景

一道极其无厘头的题目

题目描述

事情是这样的:西游记中的孙沙猪(孙杀猪)三徒弟在西天取经之后开始进入厦门大学经贸系学习经济,在1个小时的学习后,他们用暴力手段毕业了。然后,他们创办了三个公司——“花果山生态旅游山庄集团公司”“高老庄猪肉美食城有限公司”“流沙河轮渡有限公司”。虽然这三家公司出自“经卷出版社”社长唐三藏的徒弟们,但是仍然保持着0元以下的财政收入。于是,他们想到了一个无聊的方法——向别人偷!是这样的:如果猪八戒知道孙悟空要偷猪八戒的平底锅,猪八戒就不能去抢沙和尚的保时捷。现在,作为猪八戒手下首席智士(智障人士)的你,要帮助既聪明又愚蠢的猪八戒用那种不正当的手段挽救这个公司!你可以这样做:你已经知道孙悟空什么时候要来偷猪八戒的东西,而猪八戒又要在什么时间去抢沙和尚的东西,又知道猪八戒每秒钟可以偷沙和尚1台笔记本电脑,帮猪八戒算一算,自己在有限的时间内能偷到沙和尚多少台电脑,使得他有足够的时间来防御大师兄。

输入输出格式

输入格式:

 

第一行:时:分:秒(表示猪八戒打算去偷沙和尚笔记本电脑的时间)

第二行:时:分:秒(表示孙悟空打算去偷猪八戒平底锅的时间)

注:时间可能有前导0,也有可能没有。

第三行:猪八戒每秒可以偷沙和尚几台笔记本电脑

确保第一行的时间要比第二行的时间来得早。

 

输出格式:

 

一个整数,有可能大于long long(int64),表示猪八戒能偷沙和尚笔记本的个数

 

输入输出样例

输入样例#1:
00:0:00
0:00:10
10
输出样例#1:
100

说明

数据范围:

00:00:00到23:59:59

数量<=32767

 

这题最难的地方在于读入2333 如果是pascal选手估计得敲几十行代码2333

刚开始看到前导0个数不定,打算读字符串再截取数字。

思考两秒钟后发现根本不用,平常用的读入优化管你有几个前导0

然而读入优化怎么解决那个冒号?

思考三秒钟后果断用scanf("%d%c%d%c%d"),顺便鄙视了一下三秒前自己的智商

还要多弄个char,挺麻烦的,于是改成了scanf("%d%*c%d%*c%d")

%*的作用是读取该类型数据但不存储,也就是跳过该数据。

1 scanf("%d%*c%d%*c%d",&sh,&sm,&ss);
2 scanf("%d%*c%d%*c%d",&th,&tm,&ts);

欢快地A掉了题

——

开始写题解的时候,突然发现读入优化末尾的最后一次getchar()可以直接把冒号跳过去……

1 sh=read();sm=read();ss=read();
2 th=read();tm=read();ts=read();

就像这样,完全等效。

鄙视一下一分钟前自己的智商。

 1 /*by SilverN*/
 2 #include<iostream>
 3 #include<algorithm>
 4 #include<cstring>
 5 #include<cstdio>
 6 #include<cmath>
 7 using namespace std;
 8 int read(){
 9     int x=0,f=1;char ch=getchar();
10     while(ch<'0' || ch>'9'){if(ch=='-')f=-1;ch=getchar();}
11     while(ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();}
12     return x*f;
13 }
14 long long w;
15 int sh,sm,ss;
16 int th,tm,ts;
17 int main(){
18 //    scanf("%d%*c%d%*c%d",&sh,&sm,&ss);
19 //    scanf("%d%*c%d%*c%d",&th,&tm,&ts);
20     sh=read();sm=read();ss=read();
21     th=read();tm=read();ts=read();
22     scanf("%lld",&w);
23     long long tmp=(long long)th*3600-sh*3600+tm*60-sm*60+ts-ss;
24     tmp*=w;
25     cout<<tmp<<endl;
26     return 0;
27 }

 

posted @ 2016-10-27 23:38  SilverNebula  阅读(280)  评论(0编辑  收藏  举报
AmazingCounters.com