paradox64ce

assign02.c

Jan 21st, 2020
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.14 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4.     int start;
  5.     scanf("%d",&start);
  6.     start=(start/100)*60+start%100;
  7.     float begin=start,t1=0,t2=0,t3=0,tn=0;
  8.  
  9.     //path 1 starts
  10.     t1+=18;
  11.     tn=begin+t1;
  12.  
  13.     if(tn<420)
  14.     {
  15.         t1+=420-tn;
  16.         tn=begin+t1;
  17.     }
  18.     else if(tn>1200)
  19.     {
  20.         t1+=1440+420-tn;
  21.         tn=begin+t1;
  22.     }
  23.     else{
  24.         int n=(tn-420)/15.0;
  25.         n++;
  26.         t1+=(420+15*n-tn);
  27.         tn=begin+t1;
  28.     }
  29.  
  30.     t1+=(22*60)/80.0;
  31.     tn=begin+t1;
  32.  
  33.     t1+=2;
  34.     tn=begin+t1;
  35.     if(tn<420)
  36.     {
  37.         t1+=420-tn;
  38.         tn=begin+t1;
  39.     }
  40.     else if(tn>1200)
  41.     {
  42.         t1+=1440+420-tn;
  43.         tn=begin+t1;
  44.     }
  45.     else{
  46.         int n=(tn-420)/20.0;
  47.         n++;
  48.         t1+=(420+20*n-tn);
  49.         tn=begin+t1;
  50.     }
  51.     t1+=(25*60)/80.0;
  52.     tn=begin+t1;
  53.     t1+=18;
  54.     //printf("%.0f",t1);
  55.  
  56.     //path1 ends
  57.  
  58.     //path 2 starts
  59.     t2+=12;
  60.     tn=begin+t2;
  61.  
  62.     if(tn<450)
  63.     {
  64.         t2+=450-tn;
  65.     }
  66.     else if(tn>1230)
  67.     {
  68.         t2+=1440+450-tn;
  69.     }
  70.     else {
  71.         int n=(tn-450)/30.0;
  72.         n++;
  73.         t2+=(450+30*n-tn);
  74.         tn=begin+t2;
  75.     }
  76.     t2+=15;
  77.     tn=begin+t2;
  78.     t2+=2;
  79.     tn=begin+t2;
  80.         if(tn<420)
  81.     {
  82.         t2+=420-tn;
  83.     }
  84.     else if(tn>1200)
  85.     {
  86.         t2+=1440+4200-tn;
  87.     }
  88.     else {
  89.         int n=(tn-420)/30.0;
  90.         n++;
  91.         t2+=(420+30*n-tn);
  92.         tn=begin+t2;
  93.     }
  94.     t2+=28;
  95.     tn=begin+t2;
  96.     t2+=12;
  97.  
  98.     //path 2 ends
  99.  
  100.     //path3 starts
  101.     t3+=12;
  102.     tn=begin+t3;
  103.     if(tn<435)
  104.     {
  105.         t3+=435-tn;
  106.         tn=begin+t3;
  107.     }
  108.     else if(tn>1215)
  109.     {
  110.         t3+=1440+435-tn;
  111.         tn=begin+t3;
  112.     }
  113.     else{
  114.         int n=(tn-435)/30.0;
  115.         n++;
  116.         t3+=(435+30*n-tn);
  117.         tn=begin+t3;
  118.     }
  119.     t3+=20;
  120.     t3+=12;
  121.     tn=begin+t3;
  122.     if(tn<420)
  123.     {
  124.         t3+=420-tn;
  125.         tn=begin+t3;
  126.     }
  127.     else if(tn>1140)
  128.     {
  129.         t3+=1440+420-tn;
  130.         tn=begin+t3;
  131.     }
  132.     else{
  133.         int n=(tn-420)/20.0;
  134.         n++;
  135.         t3+=(420+20*n-tn);
  136.         tn=begin+t3;
  137.     }
  138.     t3+=(30*60)/80.0;
  139.     tn=begin+t3;
  140.     t3+=18;
  141.     //path 3 ends
  142.  
  143.     int t1f=t1+0.5,t2f=t2+0.5,t3f=t3+0.5;
  144.     //printf("%d %d %d\n",t1f,t2f,t3f);
  145.     float min=t1;
  146.     if(t2<min) min=t2;
  147.     if(t3<min) min=t3;
  148.  
  149.     if(min==t1)
  150.     {
  151.         printf("1 %d\n",t1f);
  152.     }
  153.     else if(min==t2)
  154.     {
  155.         printf("2 %d\n",t2f);
  156.     }else {
  157.         printf("3 %d\n",t3f);
  158.     }
  159.     return 0;
  160. }
Add Comment
Please, Sign In to add comment