poj - 2356 Find a multiple
http://poj.org/problem?id=2356
题意:给你n个数,找出几个数,使他们的和是n的倍数;有多少数组成 ,输出哪几个数
题解:鸽巢原理。(1)当前n项和对n取模为0 输出前n个数,即是所求值
(2)当取模的结果出现两次,那么在这取模相同的(a,b】区间的数即使所求值
code:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
bool vis[15005];
int a[10005];
int ans[10005];
int main(){int n;while(cin >> n){for(int i = 0;i < n;i++)cin >> a[i];int t = 0,p = -1;memset(vis,false,sizeof(vis));for(int i = 0;i < n;i++){t = (t + a[i]) % n;ans[i] = t;if(t == 0) {p = i;break;}if(vis[t]) {p = i;break;}if(!vis[t]) vis[t] = true;}if(t == 0){cout << p + 1 << endl;for(int i = 0;i <= p;i++)cout << a[i] << endl;}else{int i;for( i = 0;i <= p;i++)if(a[i] == t) break;cout << p - i << endl;for(int j = i + 1;j <= p;j++)cout << a[j] << endl;}}
}
poj - 2356 Find a multiple相关推荐
- POJ 2356 Find a multiple 神题 传说中的经典.
题目 Description The input contains N natural (i.e. positive integer) numbers ( N <= 10000 ). Each ...
- POJ 2356 Find a multiple (抽屉原理)
感觉这个题很不错,至少开始真的没想道可以用抽屉原理推出一个结论,然后把这题秒掉.... 已知有n个元素,sum[i]表示从1到i所有数的和...sum[i]%n可以得到一个剩余系,如果出现0,那么结果 ...
- poj 1426 Find The Multiple (简单搜索dfs)
题目: Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal ...
- POJ 1426 Find The Multiple
解题思路: 1)每5位为一个基数,枚举5位所有只包含0,1的数ans[],map[i][j]保存(ans[j]*100000^i)%n的值 2)BFS计算所有组合出现的模,直到出现0 代码 #incl ...
- POJ 2356 (抽屉原理)
题目中说:随便输出一组.抽屉原理可以求出取出的数连续的情况. #include <iostream> #include<cstdio> using namespace std; ...
- POJ 1426 Find The Multiple BFS
没什么好说的 从1开始进行广搜,因为只能包涵0和1,所以下一次需要搜索的值为next=now*10 和 next=now*10+1,每次判断一下就可以了,但是我一直不太明白我的代码为什么C++提交会错 ...
- 翻译D26(附AC码 POJ 24:Divisor and Multiple)
" Ctrl AC!一起 AC!" 原题: Divisor and Multipley 我的翻译: 描述 给定D和M.D是A和B的除数,M是A和B的倍数.求A和B. 输入 两个正整 ...
- POJ前面的题目算法思路【转】
1000 A+B Problem 送分题 49% 2005-5-7 1001 Exponentiation 高精度 85% 2005-5-7 1002 487-3279 n/a 90% 2005-5- ...
- POJ 动态规划题目列表
1.这份列表当然不是我原创的,从文库里下载了一份,放到这里便于自己浏览和查找题目. ※最近更新:Poj斜率优化题目 1180,2018,3709 列表一:经典题目题号: 容易: 1018, 1050 ...
最新文章
- Linux监控平台 zabbix介绍和安装
- rsync+inotify实现实时同步案例--转
- ACL 2020 | MobileBERT:一种与任务无关的模型压缩方法
- 用UE4创造开放世界:Kite 实时演示
- java 并发测试程序_java并发编程实战:第十二章---并发程序的测试
- 为何采用双亲委派机制
- 3.2.2.5 BRE运算符优先级
- 基于mykernel完成多进程的简单内核
- android 面试总结,后续注意学习
- 问题六十四:怎么用C++实现二叉查找树(binary search tree)及其相关操作
- HSRP+生成树+vlan间路由!
- word2016添加题注|图注文献标号的交叉引用及引用的更新|添加不同类型的页码|文献自动编号|文献编号的自动引用|删除空白页
- php英语单词大全95
- 2021Fall - 欧陆CS转交互留学项目信息整理
- Android Ibeacon 算法,iBeacon定位算法
- python用逗号隔开输出_c语言提取逗号隔开的 python输出用逗号隔开的数字
- 微信公众号通过第三方平台完成授权
- 二十四式长生图——清手抄本(扫描版)
- 微信小程序开发——登录登出示例
- npm,nodejs如何升级