• bzoj1385: [Baltic2000]Division expression


    欧几里得算法。可以发现规律,a[2]作为分母,其他作为分子,必定是最好的选择。判断是否为整数即可。

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    #define rep(i,s,t) for(int i=s;i<=t;i++)
    int read(){
    	int x=0;char c=getchar();
    	while(!isdigit(c)) c=getchar();
    	while(isdigit(c)) x=x*10+c-'0',c=getchar();
    	return x;
    }
    int gcd(int a,int b){
    	return b?gcd(b,a%b):a;
    }
    int a[10005];
    int main(){
    	int cas=read();
    	rep(i,1,cas){
    		int n=read();a[1]=read();int temp=read();
    		rep(i,2,n-1) a[i]=read();
    		rep(i,1,n-1) {
    			temp/=gcd(temp,a[i]);
    			if(temp==1) {
    				printf("YES
    ");break;
    			}
    		}
    		if(temp!=1) printf("NO
    ");
    	}
    	return 0;
    }
    

      

    1385: [Baltic2000]Division expression

    Time Limit: 5 Sec  Memory Limit: 64 MB
    Submit: 211  Solved: 142
    [Submit][Status][Discuss]

    Description

    除法表达式有如下的形式: X1/X2/X3.../Xk 其中Xi是正整数且Xi<=1000000000(1<=i<=k,K<=10000) 除法表达式应当按照从左到右的顺序求,例如表达式1/2/1/2的值为1/4.但可以在表达式中国入括号来改变计算顺序,例如(1/2)/(1/2)的值为1.现给出一个除法表达式E,求是告诉是否可以通过增加括号来使其为E',E'为整数

    Input

    先给出一个数字D,代表有D组数据. 每组数据先给出一个数字N,代表这组数据将有N个数。 接下来有N个数

    Output

    如果能使得表达式的值为一个整数,则输出YES.否则为NO

    Sample Input

    2
    4
    1
    2
    1
    2
    3
    1
    2
    3

    Sample Output

    YES
    NO

    HINT

     

    Source

     
    [Submit][Status][Discuss]
  • 相关阅读:
    Redux API之compose
    Redux API之bindActionCreators
    Django组件-admin
    Django组件-分页器
    Django视图之FBV与CBV
    前端综合练习
    05-前端之jQuery
    关于DOM操作的案例
    04-再探JavaScript
    03-初识JavaScript
  • 原文地址:https://www.cnblogs.com/fighting-to-the-end/p/5724167.html
Copyright © 2020-2023  润新知