zoukankan      html  css  js  c++  java
  • cogs 2060. 除法表达式

    2060. 除法表达式

    ★★   输入文件:baoquansl.in   输出文件:baoquansl.out   简单对比
    时间限制:1 s   内存限制:256 MB

    【题目描述】

    经过无尽的蘑菇和无尽的不知道错在哪里、不知道发生了什么只下,恭喜KZ成功的造出了数据!!可喜可贺可喜可贺

    给出一个这样的除法表达式:X1/X2/X3/X4/X5/X6..../Xk,

    正常的除法表达式是从左往右计算的,但是我们可以向其中添加括号,以改变它的运算顺序,如1/2/1/2=1/4  ,  (1/2)/(1/2)=1  ;

    那么,  给定一个除法表达式,能否通过添加括号使它的值为正整数?

     

    【输入格式】

    多行

    每行一个 除法表达式

    【输出格式】

    多行

    对应输入,分别输出“YES”(能为正整数)或“NO”(不能为正整数)

    【样例输入】

    8/4/7/10/99
    6/8/5/2/3
    

    【样例输出】

    YES
    NO
    

    【提示】

    3<=k<=10000 , 0<X<=0x7fffffff

    【来源】

    在此键入。

    思路:见紫书p311页。

    错因:输入卡我。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    char s[10001];
    int tot,num[10001];
    int gcd(int x,int y){
        return x==0?y:gcd(y%x,x);
    }
    bool judge(int* num){
        num[2]/=gcd(num[2],num[1]);
        for(int i=3;i<=tot;i++)
            num[2]/=gcd(num[2],num[i]);
        return num[2]==1;
    }
    int main(){
        freopen("baoquansl.in","r",stdin);
        freopen("baoquansl.out","w",stdout);
        while(scanf("%d",&num[1])==1){
            char ch;tot=1;
            while(scanf("%c",&ch)&&ch=='/')
                scanf("%d",&num[++tot]);
            if(judge(num))    cout<<"YES"<<endl;
            else cout<<"NO"<<endl;
        }
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    在 SVG 中添加交互性
    大型Web2.0站点构建技术初探 (转)
    鼠标右键右键菜单
    用SVG技术实现动态图形输出的嵌入式Web服务
    使用脚本动态操作 SVG 文档
    GDI+技术的坐标解决方案
    一个项目的粗略流程
    xml矢量图:svg的viewBox和vml的coordsize决定的虚坐标系简说
    用VML画图(一些基本的矢量图)
    列出本地可用字体
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7527419.html
Copyright © 2011-2022 走看看