题目链接:

http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=1013

描述

给出一个这样的除法表达式:X1/X2/X3/···/Xk,其中Xi是正整数。除法表达式应当按照从左到右的顺序求和,例如表达式1/2/1/2的值为1/4。但是可以在表达式中嵌入括号以改变计算顺序,例如表达式(1/2)/(1/2)的值为1.

输入
首先输入一个N,表示有N组测试数据,
每组数据输入占一行,为一个除法表达式,
输入保证合法。
使表达式的值为整数。k<=10000,Xi<=100000000.
输出
输出YES或NO
样例输入
1
1/2/1/2
样例输出
YES
 /*
问题
给出一个除法表达式x1/x2/x3/.../xk,其中xi是正整数,问能够通过在表达式中嵌入括号以改变计算顺序,使得表达式的值为1 解题思路
直观的想法暴力,但是随即又想暴力的方法是不行的,因为嵌入括号可以是双重嵌套的。
看了解析,先将式子变成E=x1/x2/x3/.../xk=(x1/x3/.../xk)/x2,现在的问题变成了判断E是否为整数
采用直接约分,那么每次约掉xi和x2的最大公约数,最后看x2是否为1即可。
这类题目刚开始看的时候好像无从下手,但是仔细观察将式子经过适当的变型,就可以将问题转化成熟悉的问题,进而求解。 具体解法,采用scanf将表达式读入,预处理(将'/'变成' ')后将其赋值为一个string类,再采用流式一个一个读入数字存入x,经过判断
输出对应结果即可。 易错分析,刚开始读入的时候以为都是一位数的数字,后来猛地发现可以是多位数字,这种错误真的是,多读题很重要。
*/
#include<cstdio>
#include<cstring>
#include<string>
#include<cctype>
#include<vector>
#include<iostream>
#include<sstream>
using namespace std; const int N=;
char s[N];
int x[N]; int judge(int *x,int len);
int gcd(int a,int b){
return b==?a:gcd(b,a%b);
}
int lcm(int a,int b){
return a/gcd(a,b)*b;
} vector<int> vx;
string vs;
int main()
{
int T,len,i,j,k,vxx;
scanf("%d",&T);
while(T--){
scanf("%s",s);
len=strlen(s);
for(i=;i<len;i++){
if(s[i] == '/')
s[i] = ' ';
}
vs=s;
stringstream ss(vs);
j=;
while(ss >> vxx) x[j++]=vxx; /*for(i=0;i<j;i++)
printf("%d ",x[i]);
printf("\n");*/ if(judge(x,j))
printf("YES\n");
else
printf("NO\n");
}
return ;
} int judge(int *x,int len)
{
x[] /= gcd(x[],x[]);
for(int i=;i<len;i++)
x[] /= gcd(x[i],x[]);
return x[] == ;
}

NYOJ 1013 除法表达式(欧几里德算法+唯一分解定理)的更多相关文章

  1. UVa10375:选择与除法(唯一分解定理)

    The binomial coefficient C(m,n) is defined as Given four natural numbers p, q, r, and s, compute the th ...

  2. B - Common Divisors (codeforces)数论算法基本定理,唯一分解定理模板

    You are given an array aa consisting of nn integers. Your task is to say the number of such positive ...

  3. NYOJ-1013除法表达式

    除法表达式 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 给出一个这样的除法表达式:X1/X2/X3/···/Xk,其中Xi是正整数.除法表达式应当按照从左到右的顺 ...

  4. 欧几里德算法及其扩展(推导&&模板)

    有关欧几里德算法整理: 1.一些相关概念: <1>.整除性与约数: ①一个整数可以被另外一个整数整除即为d|a(表示d整除a,通俗的说是a可以被d整除),其含义也可以说成,存在某个整数k, ...

  5. codeforces C. Primes and Multiplication(快速幂 唯一分解定理)

    题目链接:http://codeforces.com/contest/1228/problem/C 题解:给定一个函数f,g,题目有描述其中的表达式含义和两者之间的关系. 然后计算: 首先把给定的x用 ...

  6. Sicily1099-Packing Passengers-拓展欧几里德算法

    最终代码地址:https://github.com/laiy/Datastructure-Algorithm/blob/master/sicily/1099.c 做这题的时候查了别人的做法花了半天都没 ...

  7. 欧几里德算法gcd及其拓展终极解释

    这个困扰了自己好久,终于找到了解释,还有自己改动了一点点,耐心看完一定能加深理解   扩展欧几里德算法-求解不定方程,线性同余方程. 设过s步后两青蛙相遇,则必满足以下等式: (x+m*s)-(y+n ...

  8. hdu1215 正整数唯一分解定理应用

    B - (例题)因子和 Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:32768KB     64 ...

  9. POJ - 1845 G - Sumdiv (唯一分解定理)

    Consider two natural numbers A and B. Let S be the sum of all natural divisors of A^B. Determine S m ...

随机推荐

  1. CSS 基础 例子 行高line-height

    “行高“指一行文字的高度,具体来说是指两行文子间基线间的距离.在CSS,line-height被用来控制行与行之间的垂直距离.line-height 属性会影响行框的布局.在应用到一个块级元素时,它定 ...

  2. CxGrid筛选自动添加百分号和默认旧的滚动条样式

    CxGrid筛选自动添加百分号和默认旧的滚动条样式 2018-10-29 Delphi 约 693 字  预计阅读 2 分钟 文章目录 cxGrid支持使用like过滤时自动添加百分号 DevExpr ...

  3. sqlserver,杀掉死锁的进程

    USE [erpdb1]GO/****** Object:  StoredProcedure [dbo].[p_lockinfo_MyKill]    Script Date: 12/26/2014 ...

  4. 工作随笔——pinpoint分布式性能监控工具(docker安装)

    在做性能压测的时候,你是不是有只能看到测试报告? 在做性能压测的时候,你是不是想知道每一个方法执行了多长时间? Pinpoint几乎可以帮助你查看你想看到的每一个细节. Pinpoint是什么? Pi ...

  5. MGW PCI Framework Architecture

    MGW执行SWBT/FT cases是主要是利用Ant项目. Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道make这个命令.当编译Linu ...

  6. 彻底卸载Oracle database 12c教程

    1.WIN+R,然后输入regedit,回车:2.在注册表中,进入目录:\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,删除所有以oracl ...

  7. Python -bs4介绍

    https://cuiqingcai.com/1319.html Python -BS4详细介绍Python 在处理html方面有很多的优势,一般情况下是要先学习正则表达式的.在应用过程中有很多模块是 ...

  8. 25_re模块

    一.re模块的核心功能       1.findall —— 查找所有,返回list lst = re.findall("m", "mai le fo len, mai ...

  9. Linux学习笔记-基本操作4

    1. gdb调试2. makefile的编写3. 系统IO函数 1. gdb调试:        1. 启动gdb + 可执行文件        2. 查看代码:                l== ...

  10. Linux巩固记录(6) Hbase环境准备-zookeeper安装

    Hbase是运行在hadoop之上,所以请参考第3篇文章搭建好一个master,两个slave的hadoop环境,我采用的版本为hadoop2.7.4 不了解Hbase的同学可以参考下这篇文章,分析得 ...