1360. 有序分数一般 / 枚举 思维
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1360. 有序分数一般 / 枚举 思维相关的知识,希望对你有一定的参考价值。
https://www.acwing.com/problem/content/1362/
#include<bits/stdc++.h>
using namespace std;
int n;
vector<pair<int,int>>ve;
int gcd(int a,int b){return b?gcd(b,a%b):a;}
bool cmp(pair<int,int> a,pair<int,int> b)
{
return 1.0*a.first/a.second<1.0*b.first/b.second;
}
int main(void)
{
cin>>n;
for(int b=1;b<=n;b++)
for(int a=0;a<=b;a++) if(gcd(a,b)==1) ve.push_back({a,b});
sort(ve.begin(),ve.end(),cmp);
for(int i=0;i<ve.size();i++) printf("%d/%d\\n",ve[i].first,ve[i].second);
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int n;
void dfs(int a,int b,int c,int d)
{
if(b+d>n) return;
dfs(a,b,a+c,b+d);
printf("%d/%d\\n",a+c,b+d);
dfs(a+c,b+d,c,d);
}
int main(void)
{
cin>>n;
puts("0/1");
dfs(0,1,1,1);
puts("1/1");
return 0;
}
以上是关于1360. 有序分数一般 / 枚举 思维的主要内容,如果未能解决你的问题,请参考以下文章