Ordered Fractions chapter 2.1
2013-08-22 13:50
302 查看
第一次直接生成所有+insertsort case11超时,后来想了下把分子分母能同时除2,3,5,7全部去掉,勉强过了
/* ID: hubiao cave PROG: frac1 LANG: C++ */ #include<iostream> #include<fstream> #include<string> using namespace std; int ary[2][160*160]; void insert(float a,float b,int count); bool CanAdd(int fz,int fm); int main() { ifstream fin("frac1.in"); ofstream fout("frac1.out"); int N; int count=0; fin>>N; //cin>>N; ary[0][0]=0; ary[1][0]=1; count++; for(int i=N;i>=1;i--) { if(i==1) ary[1][count]=ary[0][count]=1; for(int j=1;j<i;j++) { if(CanAdd(j,i)) { insert(j,i,count); count++; } } } float t=2; //float fz; //float fm; for(int i=0;i<=count;i++) { if(t!=(float)ary[0][i]/(float)ary[1][i]) { int j=i+1; while((float)ary[0][i]/(float)ary[1][i]==(float)ary[0][j]/(float)ary[1][j]) { j++; } fout<<ary[0][j-1]<<"/"<<ary[1][j-1]<<endl; t=(float)ary[0][i]/(float)ary[1][i]; i=j-1; // fz=ary[0][i]; //fm=ary[1][i]; } } return 0; } void insert(float a,float b,int count) { float key=a/b; int i; for( i=count-1;i>=0;i--) { float fz=ary[0][i]; float fm=ary[1][i]; if(fz/fm>key) { ary[0][i+1]=fz; ary[1][i+1]=fm; } else break; } ary[0][i+1]=a; ary[1][i+1]=b; } bool CanAdd(int fz,int fm) { if(!(fz%2)&&!(fm%2)) return false; if(!(fz%3)&&!(fm%3)) return false; if(!(fz%5)&&!(fm%5)) return false; if(!(fz%7)&&!(fm%7)) return false; return true; }
相关文章推荐
- Usaco Section 2.1 Ordered Fractions
- USACO-Section2.1 Ordered Fractions(简单数据处理)
- USACO 2.1 Ordered Fractions(乱搞)
- [题目] Section 2.1 OrderedFractions(USACO)
- USACO section 2.1 Ordered Fractions(简单数学求约数加个排序)
- USACO Section 2.1: Prob Ordered Fractions
- USACO-Section2.1 Ordered Fractions[其他]
- USACO section 2.1 Ordered Fractions(简单数学求约数加个排序)
- USACO Section 2.1 Ordered Fractions(枚举)
- USACO Section 2.1 Ordered Fractions - 用GCD判合法的简单搜索
- USACO-Section 2.1 Ordered Fractions(排序)
- USACO-Section2.1 Ordered Fractions [其他][排序]
- USACO Section2.1 Ordered Fractions 解题报告
- 【USACO Training】Section 2.1 Ordered Fractions
- USACO 2.1 Ordered Fractions (frac1)
- USACO Section 2.1: Ordered Fractions
- USACO-Section2.1 Ordered Fractions【递归算法】
- USACO Section 2.1 Ordered Fractions 解题报告
- USACO2.1.2--Ordered Fractions
- Chapter2.1 JVM内存管理一