等比数列(sequence)

【题目描述】

判断一个数列是否为等比数列。

等比数列的定义为能被表示成a,aq,aq^2,aq^3...的数列,其中a和q不等于0。

【输入说明】

输入文件的第一行有一个正整数T,表示数据组数。

接下去有T组数据,每组数据的第一行一个整数n,接下来第二行n个数非负整数Ai,表示数列。

【输出说明】

对于每一个组的每个数据输出单独一行Yes或者No。

【样例输入】

2

3

1 1 1

3

1 4 2

【样例输出】

Yes

No

【数据范围】

对于40%的数据 0<=Ai<=10^9

对于100%的数据 T<=5,n<=1000,0<=Ai<=10^100

 /*利用等比中项+高精乘法判断*/
#include<iostream>
#include<cstdio>
#include<cstring>
#define N 1010
#define M 310
using namespace std;
int T,n;
int t[M],r[M];
int a[N][M];
char s[M];
int init()
{
int x=,f=;char c=getchar();
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
}
void mul(int c[M],int a[M],int b[M])
{
int l1=a[],l2=b[];
for(int i=;i<=l1;i++)
{
int x=;
for(int j=;j<=l2;j++)
{
c[i+j-]+=a[i]*b[j]+x;
x=c[i+j-]/;
c[i+j-]%=;
}
c[i+l2]+=x;
}
c[]=l1+l2;
while(c[]>&&c[c[]]==)c[]--;
}
int judge(int a[M],int b[M])
{
int l1=a[],l2=b[];
if(l1!=l2)return ;
for(int i=;i<=l1;i++)
if(a[i]!=b[i])return ;
return ;
}
int main()
{
freopen("sequence.in","r",stdin);
freopen("sequence.out","w",stdout);
T=init();
while(T--)
{
n=init();
memset(a,,sizeof(a));
for(int i=;i<=n;i++)
{
scanf("%s",s);
int l=strlen(s);a[i][]=l;
for(int j=;j<=l;j++)
a[i][j]=s[l-j]-'';
}
if(a[][]==&&a[][]==)// 第一项且为0
{
printf("No\n");
continue;
}
if(n==)// 只有一个数
{
printf("Yes\n");
continue;
}
if(a[][]==&&a[][]==) // 第二项为0
{
printf("No\n");
continue;
}
if(n==)// 只有两个数
{
printf("Yes\n");
continue;
}
int flag=;
for(int i=;i<=n;i++)
{
memset(t,,sizeof(t));
mul(t,a[i-],a[i]);
memset(r,,sizeof(r));
mul(r,a[i-],a[i-]);
if(judge(t,r))continue;
flag=;break;
}
if(flag)
{
printf("No\n");
continue;
}
printf("Yes\n");
}
fclose(stdin);fclose(stdout);
return ;
}

济南学习 Day 5 T2 晚的更多相关文章

  1. 济南学习 Day 4 T2 am

    LYK 与实验室(lab)Time Limit:5000ms Memory Limit:64MB题目描述LYK 在一幢大楼里,这幢大楼共有 n 层,LYK 初始时在第 a 层上.这幢大楼有一个秘密实验 ...

  2. 济南学习 Day 3 T2 pm

    LYK 快跑!(run)Time Limit:5000ms Memory Limit:64MB题目描述LYK 陷进了一个迷宫! 这个迷宫是网格图形状的. LYK 一开始在(1,1)位置, 出口在(n, ...

  3. 济南学习 Day 3 T2 am

    看程序写结果(program)Time Limit:1000ms Memory Limit:64MB题目描述LYK 最近在准备 NOIP2017 的初赛,它最不擅长的就是看程序写结果了,因此它拼命地在 ...

  4. 济南学习 Day 2 T2 pm

    她[问题描述]给你L,R,S,M,求满足L≤ (S × x) mod M ≤ R最小的正整数 X.[输入格式]第一行一个数T代表数据组数.接下来一行每行四个数代表该组数据的L,R,S,M.[输出格式] ...

  5. 济南学习 Day 1 T2 am

    死亡[问题描述]现在有M个位置可以打 sif,有N +1个人在排队等着打 sif.现在告诉你 个人每个人需要多长的时间打 sif,问你第N +1个人什么时候才能打 sif. (前N个人必须按照顺序来) ...

  6. 济南学习 Day 5 T1 晚

    取模(mod) [题目描述] 有一个整数a和n个整数b_1, …, b_n.在这些数中选出若干个数并重新排列,得到c_1,…, c_r.我们想保证a mod c_1 mod c_2 mod … mod ...

  7. 济南学习 Day 5 T2 am

    車(Rook) [题目描述] 众所周知,車是中国象棋最厉害的棋子之一,他能吃到同一行或者同一列的其他棋子.車显然不能和車在一打起来,于是rly有借来了许多许多車在棋盘上摆了起来...... 他想知道, ...

  8. 济南学习 Day 5 T2 pm

    逆欧拉函数(arc)题目描述:已知phi(N),求N.输入说明:两个正整数,分别表示phi(N)和K.输出说明:按升序输出满足条件的最小的K个N.样例输入:8 4杨丽输出:15 16 20 24数据范 ...

  9. 济南学习 Day2 T2 am

    [问题描述]有N个数,随机选择一段区间,如果这段区间的所有数的平均值在[l,r]中则你比较厉害.求你比较厉害的概率.[输入格式]第一行有三个数N,l,r,含义如上描述.接下来一行有

随机推荐

  1. Linux OpenGL 实践篇-15-图像数据操作

    OpenGL图像数据操作 之前的实践中,我们在着色器中的输入输出都是比较固定的.比如在顶点或片元着色器中,顶点属性的输入和帧缓存的颜色值:虽然我们可以通过纹理或者纹理缓存对象(TBO)来读取任意的内存 ...

  2. kubernetes概念

    kubernetes blog cluster cluster是计算.存储.和网络资源的集合,kubernetes利用这些资源运行各种基于容器的应用. master master是cluster的大脑 ...

  3. javaEE(16)_Servlet监听器

    一.监听器原理 1.监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行. 2.监听器典型案例 ...

  4. 转: opencv4.0.0 +opencv_contrib在vs2015中编译

    https://blog.csdn.net/baidu_40691432/article/details/84957737

  5. NOIP 2018数据点

    链接: https://pan.baidu.com/s/14jXQGPSac3b9_m5h5x2wGQ 提取码: 1cbk 好文别忘点赞!!!

  6. LeetCode 字符串相乘

    给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = "2", num ...

  7. 【贪心 思维题】[USACO13MAR]扑克牌型Poker Hands

    看似区间数据结构的一道题 题目描述 Bessie and her friends are playing a unique version of poker involving a deck with ...

  8. docker系列之镜像服务器

    docker 的镜像服务器 docker-registry 是 docker 项目的组成部分. 前面在谈 docker 的命令时, 它的 pull/push 命令就是和镜像服务器打交道. 并且, do ...

  9. Web安全XSS、CSRF和SQL注入

    SQL注入 SQL注入是以用户的输入作为sql语句的一部分,如后端接收到用户的请求数据后,不经过数据转义,就把数据拼接到SQL中执行,容易导致SQL的语义被篡改,即受到攻击了. 解决办法是对接收的数据 ...

  10. Django ORM (一) 创建数据库和模型常用的字段类型参数及Field 重要参数介绍

    创建一个 Django 项目及应用 django-admin startproject orm cd orm python manage.py startapp app01 在 models.py 上 ...