USACO Training Section 2.1 Ordered Fractions

英文原题 中文题译

生成有理数序列,有特定的三角形构造算法,不过在这里可以非常简单的暴力求解,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;
}

你可能感兴趣的:(C++,c,算法,J#,asp)