HDU 1036 字符串模拟题
2011-08-01 09:15
405 查看
这道字符串的题目其实并不简单,因为中间有许多的细节需要注意,注意这里的精度设计是四舍五入
/*
* Author:lonelycatcher
* problem:HDU 1036
* Type:字符串处理
*/
#include <iostream>
#include<string>
#include<string.h>
#include<stdio.h>
using namespace std;
int N,num;
double dis;
int main()
{
setbuf(stdout,NULL);
int i;
cin>>N>>dis;
while(cin>>num)
{
string s;
int invalid=0;
int hour=0,min=0,sec=0;
for(i=0;i<N;i++)
{
cin>>s;
if(s[0]=='-')
{
invalid=1;
}
if(invalid)continue;
if(s.length()==8)
{
hour+=(s[0]-'0')*10+s[1]-'0';
min+=((s[3]-'0')*10+s[4]-'0');
sec+=((s[6]-'0')*10+s[7]-'0');
}
else
{
hour+=(s[0]-'0');
min+=((s[2]-'0')*10+s[3]-'0');
sec+=((s[5]-'0')*10+s[6]-'0');
}
}
if(invalid)
{
printf("%3d: -\n",num);
continue;
}
sec+=hour*3600+min*60;
double second=(double)sec/dis;
if(((int)(second*10))%10>=5)sec=(int)second+1;
else sec=(int)second;
min=sec/60;
sec=sec%60;
if(sec>=10)
{
printf("%3d: %d:%d min/km\n",num,min,sec);
continue;
}
printf("%3d: %d:0%d min/km\n",num,min,sec);
}
return 0;
}
/*
* Author:lonelycatcher
* problem:HDU 1036
* Type:字符串处理
*/
#include <iostream>
#include<string>
#include<string.h>
#include<stdio.h>
using namespace std;
int N,num;
double dis;
int main()
{
setbuf(stdout,NULL);
int i;
cin>>N>>dis;
while(cin>>num)
{
string s;
int invalid=0;
int hour=0,min=0,sec=0;
for(i=0;i<N;i++)
{
cin>>s;
if(s[0]=='-')
{
invalid=1;
}
if(invalid)continue;
if(s.length()==8)
{
hour+=(s[0]-'0')*10+s[1]-'0';
min+=((s[3]-'0')*10+s[4]-'0');
sec+=((s[6]-'0')*10+s[7]-'0');
}
else
{
hour+=(s[0]-'0');
min+=((s[2]-'0')*10+s[3]-'0');
sec+=((s[5]-'0')*10+s[6]-'0');
}
}
if(invalid)
{
printf("%3d: -\n",num);
continue;
}
sec+=hour*3600+min*60;
double second=(double)sec/dis;
if(((int)(second*10))%10>=5)sec=(int)second+1;
else sec=(int)second;
min=sec/60;
sec=sec%60;
if(sec>=10)
{
printf("%3d: %d:%d min/km\n",num,min,sec);
continue;
}
printf("%3d: %d:0%d min/km\n",num,min,sec);
}
return 0;
}
相关文章推荐
- hdu 1036 (字符串)
- 开门人和关门人(hdu1234字符串模拟题)
- hdu 4039 字符串模拟题
- hdu 2629 Identity Card (字符串解析模拟题)
- 字符串处理 hdu 1048
- HDU 1062 Text Reverse(字符串)
- Java大数 字符串处理 HDU2100
- hdu 2010--字符串系列
- hdu 1062 字符串处理
- HDU 5585 Numbers(字符串的处理 简单题)——BestCoder Round #64(div.2)
- HDU 4561 连续最大积 (模拟题)
- HDU 1075 What Are You Talking About (map,字符串替换)
- HDU-1020 Encoding (字符串)
- hdu 5585 Numbers(字符串模拟大数)
- hdu1036
- HDU 1048 字符串处理
- HDU 4821 字符串hash
- HDU 2017 字符串统计(水题)
- HDU 1048 The Hardest Problem Ever(字符串处理)
- HDU 4431 Mahjong 2012天津A题 模拟题