L1-3. 这道真是简单题

题目:

 1 #include <cstdio>
 2 using namespace std;
 3 long long  z[105],m[105];
 4 long long  gcd(long long  a,long long  b)
 5 {
 6     long s=a,t=b;
 7         long long c = a%b;
 8         while(c){
 9                 a = b;
10                 b = c;
11                 c = a % b;
12         }
13         return s*t/b;
14 }
15 long long  gcd1(long long  a,long long  b)
16 {
17     long s=a,t=b;
18         long long c = a%b;
19         while(c){
20                 a = b;
21                 b = c;
22                 c = a % b;
23         }
24         return b;
25 }
26 int main()
27 {
28     int nn;
29     scanf("%d",&nn);
30     for(int i=0;i<nn;i++)
31         scanf("%lld/%lld",z+i,m+i);
32     long long  n=1;
33     for(int i=0;i<nn;i++)
34     {
35         n=gcd(n,m[i]);
36     }
37     int c;
38     for(int i=0;i<nn;i++)
39     {
40         c=n/m[i];
41         z[i]*=c;
42     }
43     long long sum=0;
44     for(int i=0;i<nn;i++)
45         sum+=z[i];
46     if(sum%n==0)
47         printf("%lld\n",sum/n);
48     else
49        {
50            long long  cc=sum/n;//整数
51            long long  fenmu=sum%n;
52            long long ccc=gcd1(fenmu,n);
53            if(cc==0)
54                 printf("%lld/%lld",fenmu/ccc,n/ccc);
55            else
56                 printf("%lld %lld/%lld",cc,fenmu/ccc,n/ccc);
57        }
58     return 0;
59 }
时间: 2024-10-14 00:43:27

L1-3. 这道真是简单题的相关文章

bzoj2683简单题

2683: 简单题 Time Limit: 50 Sec  Memory Limit: 128 MB Submit: 738  Solved: 307 [Submit][Status][Discuss] Description 你有一个N*N的棋盘,每个格子内有一个整数,初始时的时候全部为0,现在需要维护两种操作: 命令 参数限制 内容 1 x y A 1<=x,y<=N,A是正整数 将格子x,y里的数字加上A 2 x1 y1 x2 y2 1<=x1<= x2<=N 1<

POJ Frogs&#39; Neighborhood havel-hakimi定理 (简单题)

Frogs' Neighborhood Time Limit: 5000MS   Memory Limit: 10000K Total Submissions: 8263   Accepted: 3504   Special Judge Description 未名湖附近共有N个大小湖泊L1, L2, ..., Ln(其中包括未名湖),每个湖泊Li里住着一只青蛙Fi(1 ≤ i ≤ N).如果湖泊Li和Lj之间有水路相连,则青蛙Fi和Fj互称为邻居.现在已知每只青蛙的邻居数目x1, x2, ..

L1-014. 简单题

L1-014. 简单题 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 这次真的没骗你 —— 这道超级简单的题目没有任何输入. 你只需要在一行中输出事实:“This is a simple problem.”就可以了. 1 #include<bits/stdc++.h> 2 using namespace std; 3 int main(){ 4 printf("This is a simple problem.

bzoj 2683: 简单题

2683: 简单题 Time Limit: 50 Sec  Memory Limit: 128 MBSubmit: 1779  Solved: 720[Submit][Status][Discuss] Description 你有一个N*N的棋盘,每个格子内有一个整数,初始时的时候全部为0,现在需要维护两种操作: 命令 参数限制 内容 1 x y A 1<=x,y<=N,A是正整数 将格子x,y里的数字加上A 2 x1 y1 x2 y2 1<=x1<= x2<=N 1<

【bzoj2751】[HAOI2012]容易题(easy) 数论,简单题

Description 为了使得大家高兴,小Q特意出个自认为的简单题(easy)来满足大家,这道简单题是描述如下:有一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于一些A[i]不能取哪些值,我们定义一个数列的积为该数列所有元素的乘积,要求你求出所有可能的数列的积的和 mod 1000000007的值,是不是很简单呢?呵呵! Input 第一行三个整数n,m,k分别表示数列元素的取值范围,数列元素个数,以及已知的限制条数.接下来k行,每行两个正整数x,y表示A[x]的值不能是y.

【原创】这道Java基础题真的有坑!我也没想到还有续集。

前情回顾 自从我上次发了<这道Java基础题真的有坑!我求求你,认真思考后再回答.>这篇文章后.我通过这样的一个行文结构: 解析了小马哥出的这道题,让大家明白了这题的坑在哪里,这题背后隐藏的知识点是什么. 但是我是万万没想到啊,这篇文章居然还有续集.因为有很多读者给我留言,问我为什么?怎么回事?啥情况? 问题片段一:到底循环几次? 有很多读者针对文章的下面的这个片段: 来问了一些问题:为什么会循环三次?循环二次?循环一次? 源码看的脑袋疼.那我觉得我需要"拯救"一下这个哥们

L1-014 简单题 (5分)

L1-014 简单题 (5分) 这次真的没骗你 ---- 这道超级简单的题目没有任何输入. 你只需要在一行中输出事实:This is a simple problem. 就可以了. 输入样例: 无 输出样例: This is a simple problem. 代码: #include<bits/stdc++.h> using namespace std; int main() { cout<<"This is a simple problem."<<

poj2105 IP Address(简单题)

题目链接:http://poj.org/problem?id=2105 Description Suppose you are reading byte streams from any device, representing IP addresses. Your task is to convert a 32 characters long sequence of '1s' and '0s' (bits) to a dotted decimal format. A dotted decima

poj 3270 Cow Sorting 置换群 简单题

假设初始状态为 a:2 3 1 5 4 6 则目标状态为 b:1 2 3 4 5 6且下标为初始状态中的3 1 2 4 5 6(a[3],a[1]...) 将置换群写成循环的形式 (2,3,1),(5,4),6就不用移动了. 移动方式2种 1:选循环内最小的数和其他len-1个数交换 2:选整个序列最小的数和循环内最小的数交换,转到1,再换回来. #include<cstdio> #include<queue> #include<algorithm> #include&