#include <iostream> #include <algorithm> using namespace std; int main() { long long n,h; cin>>n>>h; while(n--) { long long x,y,z,z1; cin>>x>>y>>z; z1=h+h-z; long long g=__gcd(__gcd(x,y),z1); x/=g,y/=g,z1/=g; printf("%lld %lld %lld\n",x,y,z1); } return 0; }
由题可知,在z1=2h-z的地方进行反射,用__gcd函数求出坐标x,y,z1的最大公因数参与链接,最后除去最大公约数输出即可