POJ-2356 Find a multiple(鸽巢原理)题目数据太垃圾了!!
来源:互联网 发布:黑暗之魂1萝莉捏脸数据 编辑:程序博客网 时间:2024/05/01 10:52
题意:在给出的N个数字中找出M个数字和为N的整数倍
思路:在离散数学中鸽巢原理大概意思是,有N+1个数字放在N个盒子里必定有一个盒子有2个或者2个以上个数字..
本题如果sum[I] %n==0,那么这组数字就满足条件,如果没有一组数字是满足条件的,那么我们考虑多个数字的组合
如果前i个数字和 与前j个数字和%n相等, 那么 第i+1~j个数字的和必定是n的k倍
先给个AC的,思路正确的代码。
#include <iostream>#include <stdio.h>#include <cstring>#include <algorithm>#include <cmath>int n,m;using namespace std;int a[15001];int sum[15001];int save[10005];int main(){ int n; cin>>n; int num=0,ans=0,yes=0,l,r; for(int i=1; i<=n; i++) { cin>>a[i]; if(!yes) { sum[i]=(sum[i-1]+a[i]%n)%n; if(sum[i]==0) { l=1; r=i; ans=r-l+1; yes=1; } if(save[ sum[i] ] ) { l=save[sum[i]]+1; r=i; yes=1; ans=r-l+1; } save[sum[i]]=i; } } cout<<ans<<endl; for(int i=l;i<=r;i++) cout<<a[i]<<endl;}/*21 1*/
心疼自己写的代码。竟然AC了。然而自己造的数据都过不去。亏我想证明自己的思路的正确性。。。垃圾数据!!!!以后想明白如何正确这个东西错误再删。。。
#include <iostream>#include <stdio.h>#include <cstring>#include <algorithm>#include <cmath>int n,m;using namespace std;int a[15001];int sum[15001];int save[10005];int main(){ int n; cin>>n; int num=0,ans=0,yes=0; for(int i=1; i<=n; i++) { cin>>a[i]; if(!yes) { if(a[i]%n==0) { ans=1; yes=i; num=i; } sum[i]=(sum[i-1]+a[i])%n; if( save[ n-a[i]%n ]) { yes=i; num=save[n- a[i]%n ]; ans=1+save[n-a[i]%n]; } save[ sum[i]%n ]=i; } } cout<<ans<<endl; for(int i=1;i<=num;i++) cout<<a[i]<<endl; if(ans!=1) cout<<a[yes]<<endl;}
52 4 1 1 1
0 0
- POJ-2356 Find a multiple(鸽巢原理)题目数据太垃圾了!!
- POJ 题目2356 Find a multiple(鸽巢原理)
- POJ 2356 Find a multiple 鸽巢原理
- POJ 2356 Find a multiple 鸽巢原理
- POJ:2356 Find a multiple(鸽巢原理)
- POJ 2356 Find a multiple 鸽巢原理
- POJ 2356 Find a multiple 鸽巢原理
- poj 2356 Find a multiple(组合数学:鸽巢原理)
- poj 2356 Find a multiple[鸽巢原理]
- poj 2356 Find a multiple (鸽巢原理妙用)
- poj 2356 Find a multiple(鸽巢原理+标记)
- POJ 2356 Find a multiple(鸽巢原理)
- poj 2356 Find a multiple(鸽巢原理)
- POJ 2356:Find a multiple (鸽巢原理)
- POJ 2356 Find a multiple【鸽巢原理】
- POJ 2356 find multiple 鸽巢原理
- POJ 2356 Find a multiple [抽屉原理]
- POJ-2356 Find a multiple ----抽屉原理
- 百度地图——判断用户是否在配送范围内解决方案
- QuickSort快速排序源码
- 创建基于jsp的商品浏览器的四个步骤
- 机器学习--Logistic回归计算过程的推导
- parse_ini_file() 函数的使用
- POJ-2356 Find a multiple(鸽巢原理)题目数据太垃圾了!!
- 网络嗅探器
- angular.js中的事件
- java中abstract,public,protected,private以及不写作用域的时候在继承关系中的调用
- python中文乱码总结
- css让容器水平垂直居中的n种方式
- js中的arguments
- 238. Product of Array Except Self
- 基本类型序列化和反序列化