ZCMU OJ1134: 青蛙约会

Description

两只青蛙在一个点,但是他们想要来个久别胜新婚的约会,于是他们出发,朝同一个方向绕圈跳,我们求出他们相遇的时间

Input

输入数据的第一行为一个正整数T, 表示测试数据的组数. 然后是T组测试数据. 每组测试数据包含两组正整数,用空格隔开。每组包含两个正整数,表示跳n圈需要的秒数(1/2,表示跳2圈要1秒),用'/'隔开。

Output

对于每组测试数据, 输出它们的下次相遇时间,如果相遇周期是整数则用整数表示,否则用最简分数表示。

Sample Input

21/2 3/43/4 6/7

Sample Output

3/26

#include<stdio.h>
long long gcd(long long m,long long n){
    long long r,t;
    if(m<n){
        t=n;
        n=m;
        m=t;
    }r=m%n;
    while(r!=0){
        m=n;
        n=r;
        r=m%n;
    }return n;
}
int main()
{
    int T,i;
    long long a,b,c,d,x,y,g;
    scanf("%d",&T);
    for(i=1;i<=T;i++){
        scanf("%lld/%lld %lld/%lld",&a,&b,&c,&d);
        x=b*c-a*d;
        y=a*c;
        if(x>0&&y>0||x<0&&y<0){
            x=x;y=y;
        }else if(x>0&&y<0||x<0&&y>0){
            x=-x;y=y;
        }
        if(x==0){
            printf("1\n");
        }else if(x==1){
            printf("%lld\n",y);
        }else{
            g=gcd(x,y);
            x=x/g;
            y=y/g;
            if(x==1){
                printf("%lld\n",y);
            }else{
                printf("%lld/%lld\n",y,x);
            }
        }
           
    } 
    return 0;
}

相遇的问题跟速度差有关 a/b c/d 这样输入的 速度差=b/a - d/c 通分一下 然后求个倒数就是答案

用long long,用int不行

当速度相同时 用时为1

化成最简形式就是同时除以个最大公因数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值