TJU 2093 Chairlift 题解

TJU 2093 Chairlift 题解

数学问题。
题目很难读懂。
 给定的一个周期的时间表是的是
TJU 2093 Chairlift 题解_第1张图片
左下那个点到右下那个点的时间
然后那个圆的周长占一个位置
然后就是要注意一下这两个点是在偏左的位置还是偏右的位置相遇
只需要判断一下从第一个点顺序走到第二个点的距离是否小于一半的总距离就好了
答案就出来了
 1 #include < stdio.h >
 2 int  main()
 3 {
 4    int n,l,a,b,f,L;
 5    double t,p,ans,min;
 6    scanf("%d%lf",&n,&t);
 7    f=n/2;
 8    p=t/(f-0.5);
 9    printf("N =%4d, T =%6.1lf\n",n,t);
10    while(scanf("%d%d",&a,&b)!=EOF)
11    {
12        l=a-b;
13        L=a-b;
14        if(l<0)
15        {
16            l=-l;
17            L+=n;
18        }

19        ans=(l-0.5)*p;
20        if((ans/2)>(t-ans/2))min=(t-ans/2);
21        else min=(ans/2);
22        printf("Chair%4d meets chair%4d, remaining time =",a,b);
23        if(L<f)printf("%6.1lf\n",min);
24        else printf("%6.1lf\n",t-min);
25
26    }

27    return 0;
28
29}

你可能感兴趣的:(TJU 2093 Chairlift 题解)