JSOI2017龟兔赛跑(C++代码)

求C++代码

兔子又来找乌龟赛跑啦!同样的错误兔子不会犯两

次,所以兔子提出赛跑的时候,乌龟就觉得这场比赛很

不公平。于是兔子进一步放宽了条件,表示他可以在比

赛开始以后先睡 t 分钟 再开始追乌龟。

乌龟这下没办法确定比赛到底公平不公平了,所以

请你来帮忙。假设乌龟每分钟可以跑 x 米,兔子每分

钟跑 y 米 (x < y)。他希望你计算最大的整数赛跑距离

(米),满足乌龟能在兔子先睡 t 分钟的前提下,比兔子

更早同时 到达终点。

输入 三个整数 x, y, t
输出 一个整数,表示要求的最长赛跑距离
样例输入 11, 21, 7
样例输出 161
数据规模 1 ≤ x < y ≤ 100, t ≤ 1000

如有发布此题文章需求请私信题主
#include <iostream>
 
using namespace std;

int solution(int x, int y, int t)
{
    int s=x*t;
    while(s*1.0/y > (s*1.0-t*x)/x) //乘1.0强制作浮点数除法,否则C++作整除运算 
        s++;
    return s-1;
}

int main()
{
    int x,y,t;
    cin >> x >> y >> t;
    cout << solution(x,y,t) << endl;
    
    return 0;
}

img


#include<bits/stdc++.h>
using namespace std;
int main()
{
    int x,y,t,tswgpd;
    double zsdsj;
    cin>>x>>y>>t;
    tswgpd=x*t;
    zsdsj=1.0*tswgpd/(y-x);
    cout<<(int)(zsdsj*y)<<endl;
    return 0;
}