UVA 11237 - Halloween treats(鸽笼原理)
11237 - Halloween treats
题意:有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(鸽笼原理)的更多相关文章
- uva 11237 - Halloween treats(抽屉原理)
		版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u011328934/article/details/37612503 题目链接:uva 11237 ... 
- POJ 3370. Halloween treats 抽屉原理 / 鸽巢原理
		Halloween treats Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7644 Accepted: 2798 ... 
- POJ 3370 Halloween treats(抽屉原理)
		Halloween treats Every year there is the same problem at Halloween: Each neighbour is only willing t ... 
- [POJ3370]&[HDU1808]Halloween treats 题解(鸽巢原理)
		[POJ3370]&[HDU1808]Halloween treats Description -Every year there is the same problem at Hallowe ... 
- UVA 10620 - A Flea on a Chessboard(鸽笼原理)
		UVA 10620 - A Flea on a Chessboard 题目链接 题意:给定一个跳蚤位置和移动方向.如今在一个国际象棋棋盘上,左下角为黑格,一个格子为s*s,推断是否能移动到白格子.问要 ... 
- POJ 3370 Halloween treats(抽屉原理)
		Halloween treats Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 6631 Accepted: 2448 ... 
- POJ 3370 Halloween treats 鸽巢原理 解题
		Halloween treats 和POJ2356差点儿相同. 事实上这种数列能够有非常多,也能够有不连续的,只是利用鸽巢原理就是方便找到了连续的数列.并且有这种数列也必然能够找到. #include ... 
- Halloween treats HDU 1808 鸽巢(抽屉)原理
		Halloween treats Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ... 
- [POJ 3370] Halloween treats
		Halloween treats Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7143 Accepted: 2641 ... 
随机推荐
- const与define的使用区别
			1.const用于类成员变量定义,一旦定义且不能改变其值.define定义全局常量,在任何地方都可以访问. 2.define不能在类中定义而const可以. 3.const不能在条件语句中定义常量 i ... 
- [ACM] n划分数m部分,它要求每一个部分,并采取了最大的产品(间隔DP)
			A - 爱管闲事 春希很爱管闲事,他每天都会抽出时间帮助一些同学,因为春希很死板,出于公平性,春希不会先帮助后来找他的同学. 如今有n个同学须要他的帮助,尽管他非常想一天之类帮助全部人,但毕竟精力有限 ... 
- No enclosing instance of type Hello is accessible
			1.static 关键字 修饰的成员被所有对象共享(包括成员变量和方法). 修饰的成员优先于对象存在. 存储于方法区(共享数据区)的静态区中. 静态方法只能访问静态成员. 静态方法中不可以使用this ... 
- Ajax - 手册
			一.Ajax概述: 1.Ajax(Asynchronous JavaScript and XML):异步的JavaScript和XML 2.Ajax不是某种语言,而是在现实网页的时候一种局 ... 
- EasyUI - According 分类列表
			效果: html代码: <div id="aa" class="easyui-accordion" style="width: 300px; h ... 
- WAMPServer 集成环境
			1.下载和安装 1.1下载 下载地址:http://www.wampserver.com/en/.由于官方地址是国外的网站可能下载会有些慢,也可以去第三方网站下载 1.2安装 安装文件如下图: 双击安 ... 
- css3 animation动画事件
			当使用css3时,会遇到利用@keyframes来定义动画事件,利用以下3个事件,能够捕捉当前元素的动画: AnimationEnd //动画结束时 AnimationStart //动画開始 An ... 
- 5.单行函数,多行函数,字符函数,数字函数,日期函数,数据类型转换,数字和字符串转换,通用函数(case和decode)
			 1 多行函数(理解:有多个输入,但仅仅输出1个结果) SQL>select count(*) from emp; COUNT(*) ------------- 14 B 字符函数Lowe ... 
- MSSQL - 存储过程OutPut返回值
			1.存储过程中不使用外部参数. 存储过程: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ========================== ... 
- webdynpro 组件重用 传值问题
			组件zwd1,需要调用组件zwd2的时候,zwd2组件控制器中需要定义一个方法,定义所要传输的参数,并且该方法需要定义为interface方法. 组件zwd1可以通过代码向导调用组件zwd2,的该方法 ... 
