[url="http://ace.delos.com/usacoprob2?a=1037lYCaha0&S=frac1"]英文原题[/url] [url="http://www.wzoi.org/usaco/12%5C510.asp"]中文题译[/url]
生成有理数序列,有特定的三角形构造算法,不过在这里可以非常简单的暴力求解,just using the stupidest one that can solve the problem ! 算是遵循了一次吧。
生成有理数序列,有特定的三角形构造算法,不过在这里可以非常简单的暴力求解,just using the stupidest one that can solve the problem ! 算是遵循了一次吧。
/*
ID: blackco3
TASK: frac1
LANG: C++
*/
#include <fstream>
#include <map>
using namespace std;
typedef map< float, pair<int,int> > t_map_frac ;
int main()
{
ifstream fin("frac1.in");
ofstream fout("frac1.out");
int n ;
fin >> n ;
t_map_frac fracs ;
for( int i=1; i<=n; i++ )
for( int j=i+1; j<=n; j++ )
fracs.insert(t_map_frac::value_type(((float)i)/j, pair<int,int>(i,j)));
fout << "0/1" << endl ;
for(t_map_frac::iterator it=fracs.begin(); it!=fracs.end(); it++)
fout << it->second.first << "/" << it->second.second << endl ;
fout << "1/1" << endl ;
return 0;
}