一个长度为N的数组A,从A中选出若干个数,使得这些数的和是N的倍数。
例如:N = 8,数组A包括:2 5 6 3 18 7 11 19,可以选2 6,因为2 + 6 = 8,是8的倍数。

Input 第1行:1个数N,N为数组的长度,同时也是要求的倍数。(2 <= N <= 50000)
第2 - N + 1行:数组A的元素。(0 < Ai <= 10^9) Output 如果没有符合条件的组合,输出No Solution。
第1行:1个数S表示你所选择的数的数量。
第2 - S + 1行:每行1个数,对应你所选择的数。 Sample Input

8
2
5
6
3
18
7
11
19

Sample Output

2
2
6

1.前缀和模N==0的话  就是N的倍数

2.如果出现两个前缀和一样的话  比如说在第三个是7            第五个也是7  这说明中间这些数的加和是N的倍数

代码:

#include<bits/stdc++.h>
using namespace std;
int n,a[50010],sum[50010],mp[50010];
int main()
{scanf("%d",&n);for(int i = 1;i<=n;i++){scanf("%d",&a[i]);sum[i] = (sum[i-1]+a[i])%n;if(sum[i]==0){printf("%d\n",i);for(int j = 1;j<=i;j++)printf("%d\n",a[j]);   return 0;//这边表示的是中途有人 } if(mp[sum[i]]!=0){printf("%d\n",i-mp[sum[i]]);for(int j = mp[sum[i]]+1;j<=i;j++)printf("%d\n",a[j]);return 0;}mp[sum[i]] = i;//表示这个什么出现了出现在i这个位置上 get} return  0;
} 

N的倍数 51Nod - 1103 (抽屉原理)相关推荐

  1. 51nod 1103 N的倍数 思路:抽屉原理+前缀和

    题目: 这是一道很神奇的题目,做法非常巧妙.巧妙在题目要求n个数字,而且正好要求和为n的倍数. 思路:用sum[i]表示前i个数字的和%n.得到sum[ 1-N ]共N个数字. N个数字对N取模,每个 ...

  2. 鸽巢原理(抽屉原理)

    鸽巢原理和抽屉原理是同义词,已合并. 抽屉原理 百科名片 抽屉原理 桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面放两个苹果.这一现象就是我们所说的" ...

  3. 抽屉原理(又名:鸽笼原理)

    百度真是太强大了,百度百科真的好爱你-- 抽屉原理 百科名片 抽屉原理 桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面放两个苹果.这一现象就是我们所说的&qu ...

  4. 【51Nod - 1103】N的倍数 (思维,鸽巢原理也叫抽屉定理,求倍数问题取模)

    题干: 一个长度为N的数组A,从A中选出若干个数,使得这些数的和是N的倍数. 例如:N = 8,数组A包括:2 5 6 3 18 7 11 19,可以选2 6,因为2 + 6 = 8,是8的倍数. I ...

  5. N的倍数(抽屉原理)

    一个长度为N的数组A,从A中选出若干个数,使得这些数的和是N的倍数. 例如:N = 8,数组A包括:2 5 6 3 18 7 11 19,可以选2 6,因为2 + 6 = 8,是8的倍数. Input ...

  6. poj2356(抽屉原理)

    题意:从输入的N个元素中找出是N的倍数的元素并且输出: 因为这个要求的是连续的数之和,先用sum数组求和:sum[1],sum[1]+sum[2],--,sum[1]+sum[2]+--+sum[n] ...

  7. 鸽巢原理(抽屉原理)的详解

    抽屉原理 百科名片 桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面放两个苹果.这一现象就是我们所说的"抽屉原理". 抽屉原理的一般含义为: ...

  8. 【EOJ Monthly 2019.02 - B】解题(思维,抽屉原理,暴力,模运算,优化,tricks)

    题干: 单测试点时限: 2.0 秒 内存限制: 1024 MB "我把房门上锁,并非为了不让她进去,而是为了防止自己逃到她身边". 她又被数学难住了.QQ 小方当然是不会对女生说& ...

  9. 抽屉原理解释及简单举例

    解释 桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面至少放两个苹果.这一现象就是我们所说的"抽屉原理". 抽屉原理的一般含义为:" ...

  10. (鸽巢原理,又称抽屉原理)NYOJ 417 死神来了

    死神来了 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 有一天,王小子在遨游世界时,遇到了一场自然灾害.一个人孤独的在一个岛上,没有吃的没有喝的.在他饥寒交迫将要死亡时 ...

最新文章

  1. java用爬虫爬一个页面_使用Java写一个简单爬虫爬取单页面
  2. 死链对网站优化排名有哪些不利作用?
  3. python编程从入门到精通pdf-跟老齐学Python:从入门到精通 完整版PDF[7MB]
  4. Linux /etc/inittab 文件的解读
  5. 修改MySQL数据文件默认路径
  6. 变频器输出功率_变频器的输出功率该如何选择?
  7. MYSQL-用户操作
  8. ubuntu16.04安装OVS(Open vSwitch)
  9. consul 1.2 支持service mesh
  10. python list append tuple_Python之list、tuple、dict、set
  11. Delphi 10.X 不用联接真机或模拟器编译出APK
  12. linux的jar命令不能使用,经常使用的linux下jar包管理命令
  13. 10 Love Quotes Touch Your Soul at First Sight
  14. PSP3000/2000V3用5.03-GEN-C系统安装使用教程
  15. Android 音频系统:从 AudioTrack 到 AudioFlinger
  16. 自行车线控前叉换线之——鸡米螺丝
  17. 数据库驱动和JDBC、DBCP-C3P0连接池
  18. 2022android自定义文本路径选择器java教程
  19. 第三方移动支付类产品竞品分析:支付宝VS微信支付VS云闪付
  20. 1006-奇怪的分式

热门文章

  1. c# Excel的操作
  2. 各种数组元素复制方式的性能比较
  3. MVC进阶学习--HtmlHelper控件解析(五)
  4. 40天后Java 11将推出的功能有哪些,它们与Java 9和10的不同之处是什么?
  5. 日本电子业转型的东芝之困:多年亏损 后有强敌追兵
  6. Java基础知识回顾--正则表达式
  7. window的git extensions保存密码
  8. Linux无盘工作站的做法
  9. linux下 根目录扩展
  10. [PKU 3580 3468][Noi 2005 Sequance]伸展树Splay 平衡树SBT(下)