题意:从输入的N个元素中找出是N的倍数的元素并且输出;
因为这个要求的是连续的数之和,先用sum数组求和:sum[1],sum[1]+sum[2],……,sum[1]+sum[2]+……+sum[n];
因为sum[i]%N的余数一定在1-N之间,所以根据抽屉原理,可以用vis数组记录出现的余数;
因为1-N之间一定存在有两个余数相同。
直接上代码:
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
const int maxx=1e5+10;
int a[maxx];
int vis[maxx];
int sum[maxx];
int main(){int n;while(cin>>n){   memset(a,0,sizeof(a));memset(sum,0,sizeof(sum));memset(vis,0,sizeof(vis));for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){sum[i]=sum[i-1]+a[i];if(sum[i]%n==0){cout<<i<<endl;for(int j=1;j<=i;j++){cout<<a[j]<<endl;}break;}else if(vis[sum[i]%n]!=0){int t=i-vis[sum[i]%n];cout<<t<<endl;for(int j=vis[sum[i]%n]+1;j<=i;j++){cout<<a[j]<<endl;}break;}vis[sum[i]%n]=i;}}return 0;
}

poj2356(抽屉原理)相关推荐

  1. 牛客算法周周练2 B Music Problem(DP,抽屉原理,二进制拆分)

    链接:https://ac.nowcoder.com/acm/contest/5203/B 来源:牛客网 题目描述 Listening to the music is relax, but for o ...

  2. POJ 2356 Find a multiple (抽屉原理)

    感觉这个题很不错,至少开始真的没想道可以用抽屉原理推出一个结论,然后把这题秒掉.... 已知有n个元素,sum[i]表示从1到i所有数的和...sum[i]%n可以得到一个剩余系,如果出现0,那么结果 ...

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

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

  4. POJ 2356 (抽屉原理)

    题目中说:随便输出一组.抽屉原理可以求出取出的数连续的情况. #include <iostream> #include<cstdio> using namespace std; ...

  5. Algorithm:C++语言实现之SimHash和倒排索引算法相关(抽屉原理、倒排索、建立查找树、处理Hash冲突、Hash查找)

    Algorithm:C++语言实现之SimHash和倒排索引算法相关(抽屉原理.倒排索.建立查找树.处理Hash冲突.Hash查找) 目录 一.SimHash算法 1.SimHash算法五个步骤 2. ...

  6. 14. 不修改数组找出重复的数字【难度: 一般 / 知识点: 抽屉原理 二分】

    第一种方法: 开了map计数,多用了空间,map: logn,时间复杂度O(nlogn) class Solution {public:int duplicateInArray(vector<i ...

  7. hdu 3303(线段树+抽屉原理)

    解题思路:这题利用了抽屉原理,即1-M之间的所有数与M+1的模都不相同.那么可以利用它将要查找所有区间分成[1,Y-1],[Y,2*Y-1],[2*Y,3*Y-1].........一直下去,直到所有 ...

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

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

  9. 抽屉远离在计算机的应用,抽屉原理的应用及其推广优秀毕业论文

    抽屉原理的应用及其推广优秀毕业论文 抽屉原理的应用及其推广 数学与计算机科学学院 数学与应用数学 指导老师: 王美能 摘要:抽屉原理也叫鸽巢原理,是研究如何将元素分类的一个原理,也是组合数学里最简单. ...

最新文章

  1. 【项目实战课】基于Pytorch的3DCNN视频分类与行为识别实战
  2. k8s-16-k8s基础存储
  3. log-malloc2 0.2.4 发布
  4. spark submit 运行的时候增加ack命令
  5. 网站负责人委托书_关于网站负责人授权委托书的阿里云网站内容
  6. linux服务器cc防御,Linux下简单的防止CC攻击
  7. react-redux一点就透,我这么笨都懂了!
  8. python怎么画出好看的统计图_python数据可视化之如何用matplotlib画出漂亮美观的趋势图...
  9. 九个完全免费的PPT模板网站
  10. 教你用迅雷下载百度网盘的文件
  11. /*模拟一个简单的购房商贷月供计算器,按照以下公式计算总利息和每个月还款金额: 总利息=贷款金额*利率; 每月还款金额=(贷款金额+总利息)/贷款年限
  12. 基于Spring Boot旅游打卡小程序系统的设计与实现【Java毕业设计·安装调试·代码讲解·文档报告】
  13. 程序猿生存指南-51 杭城相会
  14. MySQL技术内幕InnoDB存储引擎
  15. 这341句话,这么美,那么伤。
  16. [maya] 粒子系统之物体消散效果
  17. SNMP协议架构与操作类型
  18. gh-ost大表DDL工具源码阅读
  19. 《痞子衡嵌入式半月刊》 第 28 期
  20. 胜天半子丨数字化供应链中台解决方案能给品牌商带来怎样的机遇变化?

热门文章

  1. 从上到下打印二叉树 II
  2. Mongodb的权限管理
  3. 爬虫之 lxml模块的安装与使用示例
  4. 数据库的介绍、分类、作用和特点
  5. 干货|对比理解不同概率估计和模型损失函数
  6. 每日一篇——lodash—array——differenceBy
  7. 比JD-GUI还要好用的Luyten
  8. Java反射 - 动态类加载和重载
  9. 2013-7-12学习笔记
  10. rabbitmq学习——安装测试