結果
| 問題 |
No.750 Frac #1
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-07-11 23:17:18 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 1 ms / 1,000 ms |
| コード長 | 1,227 bytes |
| コンパイル時間 | 835 ms |
| コンパイル使用メモリ | 29,568 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-08 19:23:46 |
| 合計ジャッジ時間 | 1,711 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 30 |
ソースコード
/*
* yukicoder Frac
* 2019.07.11 Kamato02
*/
#include<stdio.h>
typedef struct {
float nume; /* 分子 */
float deno; /* 分母 */
float value; /* 実数値 */
} fraction;
int main() {
int N; /* 入力される値の数 */
int i,j;
int wether_do; /* 交換するかどうか */
int n_swap, d_swap;
float f_swap;
fraction data[20];
scanf("%d", &N);
for(i = 0;i < N;i++) {
scanf("%f %f", &data[i].nume, &data[i].deno);
data[i].value = data[i].nume / data[i].deno;
}
if(N == 1) {
printf("%d %d\n", (int)(data[0].nume), (int)(data[0].deno));
return (0);
}
/*
* 以下バブルソート
*/
for(i = 0;i < N - 1;) {
wether_do = 1;
for(j = N - 1;j > i;j--) {
if(data[j].value > data[j - 1].value) {
n_swap = data[j].nume;
d_swap = data[j].deno;
f_swap = data[j].value;
data[j].nume = data[j - 1].nume;
data[j].deno = data[j - 1].deno;
data[j].value = data[j - 1].value;
data[j - 1].nume = n_swap;
data[j - 1].deno = d_swap;
data[j - 1].value = f_swap;
wether_do = 0;
}
}
if(wether_do == 1) {
i = N;
} else {
i++;
}
}
for(i = 0;i < N;i++) {
printf("%d %d\n", (int)(data[i].nume), (int)(data[i].deno));
}
return (0);
}