結果
問題 | No.1464 Number Conversion |
ユーザー | ManjushriMitra |
提出日時 | 2024-08-10 13:05:35 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 829 bytes |
コンパイル時間 | 2,872 ms |
コンパイル使用メモリ | 246,444 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-08-10 13:05:39 |
合計ジャッジ時間 | 4,070 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 WA * 19 |
ソースコード
#include<bits/stdc++.h> using namespace std; using ll = long long; #define rep(i,m,n) for(int i=m; i<n; ++i) #define repl(i,m,n) for(ll i=m; i<n; ++i) #define all(a) (a).begin(), (a).end() #define rall(a) (a).rbegin(), (a).rend() ll gcd(ll a, ll b){ return a % b ? gcd(b, a % b) : b; } int main(){ string X; cin >> X; int len = X.size(), dot = -1; rep(i, 0, len){ if(X[i] == '.'){ dot = i; break; } } if(dot == -1){ cout << X << "/1" << endl; }else{ string Y = ""; rep(i, 0, len){ if(i == dot) continue; Y += X[i]; } ll S = stoll(Y); ll B = 1LL; rep(i, 0, len-2) B *= 10LL; ll g = gcd(S, B); cout << S/g << "/" << B/g << endl; } return 0; }