码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • E - Power and Modulo


    思路:

    (1)问题分两步,一是确定M,二是检验是否合法。

    (2)对于确定M,分为M等于1与不等于1两种情况;

    1. 若M == 1,那么每个值均为0,进行判断即可;
    2. M != 1,那么M的出现可能在开头,可能在中间,也可能永远不出现;

    (3)对于在开头,由于M大于1,故第一个值必为1,否则判错;

    (4)对于在中间,如果a[i + 1] != a[i]*2,说明M出现了,直接令M = 2*a[i] -  a[i + 1];

    对于每个a[i + 1]如果2*a[i]模这个M!=a[i + 1]则失败,否则M合法;

    (5)对于永远不出现,M默认为-1,若永远不出现,M直接打印即可。

    代码:

    1. #include
    2. using namespace std;
    3. int a[100010];
    4. void solve()
    5. {
    6. int n;
    7. scanf("%d",&n);
    8. for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    9. //第一种情况a[1]=0
    10. if(a[1]==0)
    11. {
    12. for(int i=2;i<=n;i++)
    13. {
    14. if(a[i]>0)
    15. {
    16. printf("-1\n");
    17. return;
    18. }
    19. }
    20. printf("1\n");
    21. return;
    22. }
    23. if(a[1]!=1)
    24. {
    25. printf("-1\n");
    26. return;
    27. }
    28. int m=-1;
    29. for(int i=1;i
    30. {
    31. if(m==-1&&a[i]*2!=a[i+1]) m=a[i]*2-a[i+1];
    32. if(m!=-1&&a[i]*2%m!=a[i+1])
    33. {
    34. printf("-1\n");
    35. return;
    36. }
    37. }
    38. printf("%d\n",m);
    39. }
    40. int main()
    41. {
    42. int t;
    43. scanf("%d",&t);
    44. while(t--) solve();
    45. return 0;
    46. }

  • 相关阅读:
    paddle开发框架学习
    前端面试宝典React篇04 类组件与函数组件有什么区别呢?
    Pytest----什么是实时标准输出和捕获标准输出
    <C++>多态之纯虚函数与抽象类,学习不一样的析构函数
    C# | DBSCAN聚类算法实现 —— 对直角坐标系中临近点的点进行聚类
    Pandas索引loc[]与iloc[]的区别
    园子开店记-周边第一款:鼠标垫设计图出炉
    [SSTF 2022] 三星安全论坛的小比赛错过了
    [Python]装饰器
    [Zer0pts2020]Can you guess it?
  • 原文地址:https://blog.csdn.net/m0_70392867/article/details/134036036
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号