結果

問題 No.356 円周上を回る3つの動点の一致
ユーザー kongarishisyamo
提出日時 2016-04-01 23:58:14
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
(最新)
AC  
(最初)
実行時間 -
コード長 639 bytes
コンパイル時間 610 ms
コンパイル使用メモリ 57,332 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-12-23 04:08:35
合計ジャッジ時間 27,109 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 47 WA * 1
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:15:24: warning: ‘ans2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   15 |         long long ans1,ans2;
      |                        ^~~~

ソースコード

diff #

#include<iostream>
#include<algorithm>

using namespace std;

long long gcd(long long a,long long b){
	if(a<b) return gcd(b,a);
	if(b!=0) return gcd(b,a%b);
	return a;
}

int main(){

	long long T1,T2,T3;
	long long ans1,ans2;

	cin>>T1>>T2>>T3;

	long long N=gcd(T1,T2);
	long long A=T1*T2/N;
	N=gcd(A,T3);
	A=A*T3/N;

	ans1=A;

	long long K1=A/T1;
	long long K2=A/T2;
	long long K3=A/T3;

	for(long long i=max(max(K1,K2),K3);i>=1;i--){
		if(K1%i==K2%i&&K2%i==K3%i){
			ans2=i;
			break;
		}
	}

	for(long long i=2;i<min(ans1,ans2);i++){
		if(ans1%i==0&&ans2%i==0){
			ans1/=i;
			ans2/=i;
			i--;
		}
	}
	cout<<ans1<<"/"<<ans2<<endl;
}

0