結果
| 問題 |
No.141 魔法少女コバ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-09-19 08:37:32 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 921 bytes |
| コンパイル時間 | 768 ms |
| コンパイル使用メモリ | 64,504 KB |
| 実行使用メモリ | 13,636 KB |
| 最終ジャッジ日時 | 2024-11-17 09:14:00 |
| 合計ジャッジ時間 | 170,865 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 82 TLE * 11 |
ソースコード
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int calc(int a,int b){
int x=1;
int c=min(a,b);
for(int i=2; i<=c; ++i){
if(a==1 || b==1) break;
while(1){
if(a%i==0 && b%i==0){
a/=i;
b/=i;
x*=i;
} else {
break;
}
}
}
return x;
}
int main(){
int M,N;
cin>>M>>N;
int a=calc(M,N);
M/=a;
N/=a;
int x=0;
vector<pair<int,int>> v;
int f=0;
while(1){
for(int i=0; i<v.size(); ++i){
if(v[i].first==M && v[i].second==N){
x=-1;
f=1;
}
}
if(f==0){
v.push_back(make_pair(M,N));
if(M==1 && N!=1){
x+=N;
break;
} else if(M>N){
M-=N;
x+=1;
} else if(M<N){
int t=M;
M=N;
N=t;
x+=1;
} else {
break;
}
} else {
break;
}
}
cout<<x<<endl;
return 0;
}