题解:P14605 [NWRRC 2025] Faulty Fraction

· · 题解

做题思路

不难发现,如果两个长度为 ab 的数相乘,那么得出来的数的长度为 a+b-1a+b

题目给出了商的长度与被除数加除数的长度和。

也就是说,题目给出了 b 的值与 2a+b* 的值。

*:上述的两种情况先视为同一种,即 a+b;分割线以上意同。

那么两者相减,即是 2a 的值。

又可以发现,2a+12a 整除 2 的结果一致,均为 a

这样就求出 a 的值了。

代码

压行严重,仅 9 行,如需观看代码请移步他人题解。

:::info[这里]

#include<bits/stdc++.h>
using namespace std;
#define int long long
string a2_b,b;
signed main(){
    cin>>a2_b>>b;
    cout<<a2_b.substr(0,a2_b.length()-(a2_b.length()-b.length()+1)/2)<<' '<<a2_b.substr(a2_b.length()-(a2_b.length()-b.length()+1)/2)<<'\n';
    return 0;
}

:::