USACO sec2.1 Ordered Fractions

首先两重 for 循环对可能取的值约分,分子分母分别存放,根据比较分数大小的方法排序,然后按顺序输出(相同的只输出一个);

/*
PROG : frac1
LANG : C++
*/
# include <stdio.h>
# include <stdlib.h># define MAXN (160 * 160)/***************************************************/
int num[MAXN], den[MAXN], r[MAXN], m = 0;
int cmp(const void *xx, const void *yy)
{int x = *(int*)xx;int y = *(int*)yy;return num[x]*den[y] > den[x]*num[y] ? 1 : -1;
}int gcd(int a, int b)
{if (!b) return a;return gcd(b, a%b);
}void solve(void)
{int i, j, n;scanf("%d", &n);num[0] = 0, den[0] = 1;for (i = 1; i <= n; ++i)for (j = 1; j <= n; ++j){if (i > j) continue;++m;num[m] = i/gcd(i, j);den[m] = j/gcd(i, j);}for (i = 0; i <= m; ++i) r[i] = i;qsort(r, m, sizeof(r[0]), cmp);printf("%d/%d\n", num[r[0]], den[r[0]]);for (i = 1; i <= m; ++i){if (num[r[i]] == num[r[i-1]] && den[r[i]] == den[r[i-1]])continue;elseprintf("%d/%d\n", num[r[i]], den[r[i]]);}
}/***************************************************/int main()
{freopen("frac1.in", "r", stdin);freopen("frac1.out", "w", stdout);solve();fclose(stdin);fclose(stdout);return 0;
}

 

转载于:https://www.cnblogs.com/JMDWQ/archive/2012/08/21/2649232.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576290.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二维教组A[12][18]采用列优先的存储方法,若每个元素各占3个存储单元,且第1个元素的地址为150,则元素A[9][7]的地址为 ( )

二维教组A[12][18]采用列优先的存储方法&#xff0c;若每个元素各占3个存储单元&#xff0c;且第1个元素的地址为150&#xff0c;则元素A[9][7]的地址为 ( ) A&#xff0e;429 B&#xff0e;432 C&#xff0e;435 D&#xff0e;438 [分析] 本题考查数组元素存储地址的计算。…

python threading 两种创建方式

作用&#xff1a;建立在thread模块之上&#xff0c;可以更容易地管理多个执行线程。 通过使用线程&#xff0c;程序可以在同一个进程空间并发地运行多个操作。threading模块建立在thread的底层特性基础上&#xff0c;可以更容易地完成线程处理。 1、调用函数 要使用Thread&…

对广义表L=((a,b),c,d)进行操作tail(head(L))的结果是

对广义表L((a,b),c,d)进行操作tail(head(L))的结果是( ) A&#xff0e;&#xff08;c,d&#xff09; B&#xff0e;(d) C&#xff0e; b D&…

ScaleForm十六戒言

不知不觉&#xff0c;在不停地叫骂、哀嚎、惊叹、欢喜中&#xff0c;开发工作已经走过了一个节点了&#xff0c;UE3作为一个顶级&#xff0c;维护多年的引擎&#xff0c;层层深入后&#xff0c;发现每一块都有值得深入&#xff0c;值得改进的地方&#xff0c;平时负责一些场景&…

一个含n个顶点和e条弧的有向图以邻接矩阵表示法为存储结构,则计算该有向图中某个顶点出度的时间复杂度为

一个含n个顶点和e条弧的有向图以邻接矩阵表示法为存储结构&#xff0c;则计算该有向图中某个顶点出度的时间复杂度为( ) A&#xff0e;O(n) B&#xff0e;O(e) C&#xff0e;O(ne) …

PO三种状态

PO三种状态&#xff1a; 瞬态&#xff1a;如果PO实例从未与Session关联过&#xff0c;该PO实例处于瞬态状态。 持久化&#xff1a;如果PO实例与Session关联起来&#xff0c;且该实例对应到数据库记录&#xff0c;则该实例处于持久化状态。 托管&#xff1a;如果PO实例曾经与ses…

C++Primer学习之一引用和指针

一&#xff0e;引用 引用是一种复合类型&#xff0c;引用分为左值引用和右值引用&#xff0c;其中右值引用时C11提出来的&#xff0c; 常说的引用其意为左值引用。注意&#xff1a;引用不是对象&#xff0c;它是一个对象&#xff08;变量&#xff09;的别名&#xff0c;不能改…

第四课 脱壳必备知识要点及方法

第四课 脱壳必备知识要点及方法 今天所要讲的是这高级篇中最为关键&#xff0c;最为重要的一课&#xff0c;希望大家能认真学习&#xff0c;反复推敲&#xff0c;举一反三学习脱壳的各种方法&#xff0c;当然有的时候可能需要几种方法一起使用&#xff0c;今后我们也会一点一点…

C++Primer学习之二#define,const,constexpr

一&#xff0e;#define 是预处理操作符&#xff08;宏定义&#xff09;&#xff0c;编译器将在编译过程中用到该变量的地方替换成对应的值。 二&#xff0e;Const const是声明常量的限定符&#xff0c;它可以约定一个变量为常量。 如: Const int buffsize 1024; 编译器将…

SQL - 18.触发器

触发器是一种特殊类型的存储过程&#xff0c;它不同于前面介绍过的一般的存储过程。一般的存储过程通过存储过程名称被直接调用&#xff0c;而触发器主要是通过事件进行触发而被执行。触发器是一个功能强大的工具&#xff0c;在表中数据发生变化时自动强制执行。触发器可以用于…

C++求三位数的水仙花数

#include<iostream>using namespace std;int main() {/**个数的3次方十位的三次方百位的三次方这个数的本身*/for (int i 100; i < 999; i){int a i / 100; //百位数int b (i / 10)%10; //十位数int c i % 10; //个位数if (i a * a*a b * b*b c * …

行 转 列

第一种&#xff1a; CREATE TABLE #T1(C1 VARCHAR(10),C2 VARCHAR(20),C3 VARCHAR(10)) INSERT INTO #T1(C1,C2,C3) VALUES(1,DCP,5)INSERT INTO #T1(C1,C2,C3) VALUES(2,PCB,8)INSERT INTO #T1(C1,C2,C3) VALUES(6,ECD,9)INSERT INTO #T1(C1,C2,C3) VALUES(6,PCB,2)INSERT…

字符串移位包含

题目&#xff1a;给定两个字符串s1和s2&#xff0c;要求判定s2是否能够被s1做循环移位得到的字符串包含。例如&#xff0c;给定s1AABCD和s2CDAA,返回true;给定s1ABCD和s2ACBD,返回false。 答&#xff1a; #include "stdafx.h" #include <iostream>using namesp…

C++分文件的编写函数

不分文件编写函数&#xff1a; #include<iostream>using namespace std;//函数的声明 void swap(int a, int b); //函数的定义void swap(int a, int b) {int temp a;a b;b temp;cout << "a的值" << a << endl;cout << "b的值…

多线程socket 端口扫描程序,实现了,但是速度不行,求指点。

#pragma comment(lib,"ws2_32.lib")#include <stdio.h>#include <winsock2.h>#define MAXTHREAD 500#define PORTSTART 1#define PORTEND 60000#define TIMEOUT 1#define WAITTIME 10#define IP "61.135.169.105" //百度地址FILE * logHandle…

好的学习网址收藏

ASP.Net: http://www.189works.com/tech/devlodoc/donet/ 统一系统管理平台&#xff1a; http://www.cnblogs.com/umplatform/转载于:https://www.cnblogs.com/Qiaoyq/archive/2012/09/05/2672371.html

C++ 空指针和野指针

//1&#xff0c;指针变量指向内存中编号为0的空间为空指针 //2&#xff0c;空指针指向的内存空间是不可以访问的 #include<iostream> using namespace std; int main() {int a 10;int * p &a;cout << p << endl;cout << &a << e…

sql 大数据量插入优化

在做一IOS项目时&#xff0c;因为要动态根据文件导入创建数据库,刚开始的时候因为使用动态查询的方式&#xff0c;就是每次插入数据之前查询当前数据是否已经存在,这样的效率极低.6w条纪录3个关联表,使用了30-50分钟的样子. 后来使用动态保存索引号的方式&#xff0c;耗时只是3…

const修饰是指针和常量

1. const修饰指针——常量指针 int a10: int b10: int *p&a;const int* p&a; 常量指针 特点:指针的指向可以修改&#xff0c;但是指针指向的值不可以改&#xff08;p可以改&#xff0c;*p不可以改&#xff09;*p 20;错误&#xff0c;指针指向的值不可以改 p &b; 正…

GL 与 CV 管线 (pipeline) 比较与相互转换

这里把二者作一个比较&#xff0c;并对相关的矩阵做一个联系以使能够相互转换。 1. CV中图像形成过程 (transformation stages) 这一过程可概括为四个坐标系的转换&#xff0c;分别为&#xff1a;世界坐标系、相机坐标系、图像坐标系、像素坐标系&#xff0c;如下图&#xff1a…