読者です 読者をやめる 読者になる 読者になる

メモ

yukicoderで遊んでいる競プロゆるふわ勢

yukicoder No.356 円周上を回る3つの動点の一致

問題はこちら
No.356 円周上を回る3つの動点の一致 - yukicoder

yukicoder No.229 線分上を往復する3つの動点の一致 - メモ
これの類題。というかむしろこれより簡単なのでコピペして適当に書き換えればOK

long gcd(long p,long q){return q?gcd(q,p%q):p;}
int main(){
	long t1,t2,t3,temp,m;
	scanf("%ld%ld%ld",&t1,&t2,&t3);
	m=gcd((t3-t1)*t2,(t3-t2)*t1);
	temp=gcd(t1*t2*t3,m);
	printf("%ld/%ld",t1*t2*t3/temp,m/temp);
}

全く同じように縮める
今回はprintfの引数に押しこめばc=scanf>printfの形にできる

long a,b,c;
g(long p,int q){return q?g(q,p%q):p;}
main(s){c=scanf("%d%d%d",&a,&b,&c)>printf("%ld/%d",b/a,s/(a=g(b*=a*c,s)),s=g(b*(c-a),a*(c-b)));}

144B