AcWing 1360. 有序分数
原题链接
简单
作者:
cui_zixu
,
2024-03-29 18:50:14
,
所有人可见
,
阅读 1
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
struct node
{
double st;
int a;
int b;
}a[10001];
bool cmp(node a,node b)
{
return a.st < b.st;
}
int main()
{
int n, c=0;
scanf("%d", &n);
printf("0/1\n");
for(int i = 1;i <= n;i ++){
for(int j = i;j <= n;j ++){
if(i < j && __gcd(i, j) == 1){
c ++;
a[c].a = i;
a[c].b = j;
a[c].st = double((i * 1.0) / (j * 1.0));
}
}
}
sort(a + 1,a + 1 + c,cmp);
for (int i = 1; i <= c; i ++ )
{
printf("%d/%d\n",a[i].a, a[i].b);
}
printf("1/1");
return 0;
}