[POJ3370]&[HDU1808]Halloween treats Description Every year there is the same problem at Halloween: Each neighbour is only willing to give a certain to ...
分类:
其他好文 时间:
2018-02-28 01:14:00
阅读次数:
159
题目大意:
给你两个整数C和N,再给你N个正数的序列,从中找到若干数,使得其和刚好是 C
的倍数。输出这些数的序号。
解题思路:
典型的抽屉原理。
Sum[i]为序列中前 i 项的和。则有两种可能:
1.若有 Sum[i] 是 C 的倍数,则直接输出前 i 项。
2.如果没有任何的 Sum[i] 是 C 的倍数,则计算 ri = Sum[i] % C。根据鸽巢原理,肯
定有 Sum[i] % C == Sum[j] % C,i != j。则第 j 到第 i 项数的和即为 C 的倍数。...
分类:
其他好文 时间:
2015-08-18 14:17:05
阅读次数:
145
题意:首先输入c n,接着是n个数,问你有没有k个数(1
输出其对应下标,只输出一组符合条件的就行;
分析:http://blog.csdn.net/bigsungod/article/details/41450729
代码:
#include
#include
#include
#include
#include
#include
#in...
分类:
其他好文 时间:
2014-11-24 22:37:11
阅读次数:
188
这是一道要用抽屉原理的题,我们可以用一个sum数组,记录前 i 个元素之和mod c 的结果,拿第一组数据来说明(a[i]存放糖块)
然后用mod数组存放出现该余数sum[i]时的下标,形式是mod[sum[i]]=i;
即:mod[1]=1,mod[3]=2,mod[2]=3......因为等下写代码的时候是一次对mod判断的,所以后面的mod[1]=4是不会出现的。
mod和sum的作用是:①当出现sum[i]=0时,说明从1到 i 这 i 个元素的和能被c整除,即符合题意;
②当sum[i]...
分类:
其他好文 时间:
2014-08-08 18:19:16
阅读次数:
247
#include int main(int argc, char *argv[]){ int
c = -1, n = -1; while (true) { scanf("%d%d",&c,&n); int
arr[n],sum[n],b[n]; if (c + n == 0) { ...
分类:
其他好文 时间:
2014-05-14 23:11:50
阅读次数:
391