AOJ 0163 Highway Toll
こんにちは川です。
今回は、料金表と距離を使った計算をするだけの問題です。
#include<bits/stdc++.h>
using
namespace
std;
int
main()
{
int
distance[]={6,7,5,5,20,15},
money[6][6]={{300,500,600,700,1350,1650},{350,450,600,1150,1500},
{250,400,1000,1350},{250,850,1300},{600,1150},{500}};
int
time
[2][3];
while
(cin>>
time
[0][0],
time
[0][0]){
for
(
int
i=1;i<3;i++)cin>>
time
[0][i];
for
(
int
i=0;i<3;i++)cin>>
time
[1][i];
int
num=0;
for
(
int
i=
time
[0][0];i<
time
[1][0];i++)num+=distance[i-1];
bool
kawa=0;
for
(
int
i=0;i<2&&!kawa&&num<41;i++)
if
(
time
[i][1]==18||
time
[i][1]==17&&
time
[i][2]>29||
time
[i][1]==19&&
time
[i][2]<31)kawa=1;
num=money[
time
[0][0]-1][
time
[1][0]-
time
[0][0]-1];
if
(kawa){
num/=2;
if
(num%50!=0)num+=25;
}
cout<<num<<endl;
}
}