結果
問題 |
No.141 魔法少女コバ
|
ユーザー |
![]() |
提出日時 | 2015-08-06 21:32:27 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 129 ms / 5,000 ms |
コード長 | 1,079 bytes |
コンパイル時間 | 1,739 ms |
コンパイル使用メモリ | 77,068 KB |
実行使用メモリ | 54,248 KB |
最終ジャッジ日時 | 2024-07-18 03:45:15 |
合計ジャッジ時間 | 14,120 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 93 |
ソースコード
import java.util.Arrays; import java.util.HashSet; import java.util.LinkedList; import java.util.Scanner; import java.util.Set; public class Main { public static long gcd(long a, long b){ return b == 0 ? a : gcd(b, a % b); } public static void main(String[] args){ Scanner sc = new Scanner(System.in); long M = sc.nextLong(); long N = sc.nextLong(); final long gcd = gcd(M, N); M /= gcd; N /= gcd; long answer = 0; if(N != 1 && M / N > 0){ answer += M / N; M = M % N; }else if(N == 1){ answer = M - 1; } //System.out.println(answer); //System.out.println(M + " " + N + " : " + answer); while(N != 1 && M > 1){ final long prev = N - M; //System.out.println(prev + " " + M + " " + N + " : " + answer); if(prev >= M){ { long tmp = N; N = M; M = tmp; answer++; answer += M / N; M = M % N; } }else{ N = M; M = prev; answer += 2; } } //System.out.println(M + " " + N + " : " + answer); System.out.println(answer + (N == 1 ? 0 : N)); } }