結果

問題 No.356 円周上を回る3つの動点の一致
コンテスト
ユーザー kongarishisyamo
提出日時 2016-04-01 23:58:14
言語 C++11
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WA  
(最新)
AC  
(最初)
実行時間 -
コード長 639 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 324 ms
コンパイル使用メモリ 74,096 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-05-29 06:38:47
合計ジャッジ時間 9,187 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 47 WA * 1
権限があれば一括ダウンロードができます
コンパイルメッセージ
In file included from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/string:53,
                 from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/bits/locale_classes.h:42,
                 from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/bits/ios_base.h:43,
                 from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/ios:46,
                 from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/bits/ostream.h:43,
                 from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/ostream:42,
                 from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/iostream:43,
                 from main.cpp:1:
In function 'const _Tp& std::min(const _Tp&, const _Tp&) [with _Tp = long long int]',
    inlined from 'int main()' at main.cpp:37:25:
/home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/bits/stl_algobase.h:239:7: warning: 'ans2' may be used uninitialized [-Wmaybe-uninitialized]
  239 |       if (__b < __a)
      |       ^~
main.cpp: In function 'int main()':
main.cpp:15:24: note: 'ans2' was declared here
   15 |         long long ans1,ans2;
      |                        ^~~~

ソースコード

diff #
raw source code

#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