HDU 1808(鸽巢原理)
来源:互联网 发布:如何开淘宝店详细步骤 编辑:程序博客网 时间:2024/05/20 05:58
hdu 1808
题目大意:
已知no sweets
;
思路:
记录前缀和的取模
存在
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <cstdlib>#define N 100005#define LL __int64using namespace std;struct node{ int rem; int p;}re[N];int a[N];bool cmp(node s, node t){ if (s.rem == t.rem) { return s.p < t.p; } return s.rem < t.rem;}int main(){ int p, n; while (~scanf("%d%d", &p, &n) && (n || p)) { int pi = -1; LL sum = 0; for (int i = 0; i < n; i++) { scanf("%d", &a[i]); sum += a[i]; re[i].rem = sum % p; re[i].p = i + 1; if (re[i].rem == 0 && pi == -1) { pi = i; } } if (pi == -1) { sort(re, re + n, cmp); int pi_2; for (int i = 0; i < n - 1; i++) { if (pi == -1 && re[i].rem == re[i + 1].rem) { pi = re[i].p; pi_2 = re[i+1].p; break; } } if (pi == -1) { printf("no sweets\n"); } else { for (int i = pi + 1; i < pi_2; i++) { printf("%d ", i); } printf("%d\n", pi_2); } } else { for (int i = 0; i < pi; i++) { printf("%d ", i + 1); } printf("%d\n", pi + 1); } }}
0 0
- HDU 1808(鸽巢原理)
- hdu 1205 鸽巢原理
- HDU 1029(鸽巢原理)
- POJ 3370 && HDU 1808 Halloween treats(鸽巢原理)
- hdu 1808 alloween treats (鸽巢原理)
- HDU 5776 SUM (鸽巢原理 / 抽屉原理)
- hdu 1205 吃糖果(鸽巢原理)
- hdu 5776 sum (鸽巢原理)
- HDU 1205(鸽巢原理)
- 鸽巢原理 Poj3370&Hdu1808 + Poj2356 + Hdu 1205
- Hdu 1029 Ignatius and the Princess IV (鸽巢原理)
- [ACM] hdu 1205 吃糖果(鸽巢原理)
- HDU 1205 吃糖果(组合数学鸽巢原理)
- [HDU 1664] Different Digits DFS+鸽巢原理
- HDU 1205.吃糖果【鸽巢原理】【8月1】
- hdu 1205 吃糖果(鸽巢原理)
- HDU 1808.Halloween treats【鸽巢原理】【11月25】
- HDU 1205 吃糖果(鸽巢原理)
- hdu 2602 Bone Collector 基础01背包
- android面试
- HDU 1285 确定比赛名次 (拓扑排序)
- 2016阿里巴巴测试开发实习笔试题
- 给Button添加边框
- HDU 1808(鸽巢原理)
- Android Volley完全解析(一),初识Volley的基本用法
- C#线程同步的几种方法
- Simpliciti协议栈移植笔记一
- JVM调优总结(这个总结得比较全面)
- 内存管理
- 关于EnumerateObjectsUsingBlock和for-in之间的较量
- 打印1到最大的n位数
- Java 字节流与字符流的区别