11237 - Halloween treats

option=com_onlinejudge&Itemid=8&page=show_problem&category=516&problem=2178&mosmsg=Submission+received+with+ID+13856428" target="_blank" style="">题目链接

题意:有c个小伙伴,n个房子(c <= n)。每一个房子会给ai个糖果,要求选一些房子,使得得到的糖果能平均分给小伙伴,输出方案

思路:c <= n 这个条件非常关键,假设有这个条件,那么就能够开一个sum[i]记录0 - i的前缀和%c的值,这样一来在长度n的数组中,必定会出现反复的两个值。用sum[i] - sum[j] == 0这个区间就必定是所求的答案

代码:

#include <cstdio>
#include <cstring> const int N = 100005;
int c, n, a[N], sum[N], vis[N]; void solve() {
memset(vis, -1, sizeof(vis));
vis[0] = 0;
for (int i = 1; i <= n; i++) {
sum[i] = (sum[i - 1] + a[i]) % c;
if (vis[sum[i]] != -1) {
for (int j = vis[sum[i]] + 1; j < i; j++)
printf("%d ", j);
printf("%d\n", i);
return;
}
vis[sum[i]] = i;
}
} int main() {
while (~scanf("%d%d", &c, &n) && c + n) {
for (int i = 1; i <= n; i++)
scanf("%d", &a[i]);
solve();
}
return 0;
}

UVA 11237 - Halloween treats(鸽笼原理)的更多相关文章

  1. uva 11237 - Halloween treats(抽屉原理)

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u011328934/article/details/37612503 题目链接:uva 11237 ...

  2. POJ 3370. Halloween treats 抽屉原理 / 鸽巢原理

    Halloween treats Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7644   Accepted: 2798 ...

  3. POJ 3370 Halloween treats(抽屉原理)

    Halloween treats Every year there is the same problem at Halloween: Each neighbour is only willing t ...

  4. [POJ3370]&[HDU1808]Halloween treats 题解(鸽巢原理)

    [POJ3370]&[HDU1808]Halloween treats Description -Every year there is the same problem at Hallowe ...

  5. UVA 10620 - A Flea on a Chessboard(鸽笼原理)

    UVA 10620 - A Flea on a Chessboard 题目链接 题意:给定一个跳蚤位置和移动方向.如今在一个国际象棋棋盘上,左下角为黑格,一个格子为s*s,推断是否能移动到白格子.问要 ...

  6. POJ 3370 Halloween treats(抽屉原理)

    Halloween treats Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 6631   Accepted: 2448 ...

  7. POJ 3370 Halloween treats 鸽巢原理 解题

    Halloween treats 和POJ2356差点儿相同. 事实上这种数列能够有非常多,也能够有不连续的,只是利用鸽巢原理就是方便找到了连续的数列.并且有这种数列也必然能够找到. #include ...

  8. Halloween treats HDU 1808 鸽巢(抽屉)原理

    Halloween treats Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  9. [POJ 3370] Halloween treats

    Halloween treats Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7143   Accepted: 2641 ...

随机推荐

  1. const与define的使用区别

    1.const用于类成员变量定义,一旦定义且不能改变其值.define定义全局常量,在任何地方都可以访问. 2.define不能在类中定义而const可以. 3.const不能在条件语句中定义常量 i ...

  2. [ACM] n划分数m部分,它要求每一个部分,并采取了最大的产品(间隔DP)

    A - 爱管闲事 春希很爱管闲事,他每天都会抽出时间帮助一些同学,因为春希很死板,出于公平性,春希不会先帮助后来找他的同学. 如今有n个同学须要他的帮助,尽管他非常想一天之类帮助全部人,但毕竟精力有限 ...

  3. No enclosing instance of type Hello is accessible

    1.static 关键字 修饰的成员被所有对象共享(包括成员变量和方法). 修饰的成员优先于对象存在. 存储于方法区(共享数据区)的静态区中. 静态方法只能访问静态成员. 静态方法中不可以使用this ...

  4. Ajax - 手册

    一.Ajax概述:    1.Ajax(Asynchronous JavaScript and XML):异步的JavaScript和XML    2.Ajax不是某种语言,而是在现实网页的时候一种局 ...

  5. EasyUI - According 分类列表

    效果: html代码: <div id="aa" class="easyui-accordion" style="width: 300px; h ...

  6. WAMPServer 集成环境

    1.下载和安装 1.1下载 下载地址:http://www.wampserver.com/en/.由于官方地址是国外的网站可能下载会有些慢,也可以去第三方网站下载 1.2安装 安装文件如下图: 双击安 ...

  7. css3 animation动画事件

    当使用css3时,会遇到利用@keyframes来定义动画事件,利用以下3个事件,能够捕捉当前元素的动画: AnimationEnd //动画结束时 AnimationStart  //动画開始 An ...

  8. 5.单行函数,多行函数,字符函数,数字函数,日期函数,数据类型转换,数字和字符串转换,通用函数(case和decode)

     1  多行函数(理解:有多个输入,但仅仅输出1个结果) SQL>select count(*) from emp; COUNT(*) ------------- 14 B 字符函数Lowe ...

  9. MSSQL - 存储过程OutPut返回值

    1.存储过程中不使用外部参数. 存储过程: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ========================== ...

  10. webdynpro 组件重用 传值问题

    组件zwd1,需要调用组件zwd2的时候,zwd2组件控制器中需要定义一个方法,定义所要传输的参数,并且该方法需要定义为interface方法. 组件zwd1可以通过代码向导调用组件zwd2,的该方法 ...