1. 摩天轮是一个环,周围围绕着一些缆车。每个缆车按顺序编号为1,2,3...K-1,K1,2,3...K1,K而且每个缆车也拥有一个唯一的值且保证A[i-1] < A[i] < A[i+1](1 < i < K)A[i1]<A[i]<A[i+1](1<i<K);

  1. Misaki 邀请NN个朋友去做摩天轮,每个朋友都进入一个缆车,如果哪个朋友满足:"(他的缆车的值+左边一个缆车的值)%INT_MAX=右边一个缆车的值",那么可以得到Misaki的一个吻,第1个缆车的左边是第KK个车,右边是第2个车,第KK个车的左边是第k-1k1个,右边是第1个.
  2.  
  3. 请帮Misaki计算一下她要吻多少次。你可以假设当所有人进入缆车后,没有空缆车,一个车装有多个朋友也是合法的.
输入描述
  1. 多组测试数据
  2. 每组测试数据第一行一个NN表示有NN个朋友。
  3. 第二行有NN个整数,val[i]val[i]表示第ii个朋友的缆车的值。
  4. 1<=n<=1001<=n<=100;
  5. 0<=val[i]<=0<=val[i]<= INT_MAX
  6.  
  7. INT_MAX 21474836472147483647
输出描述
  1. 对于每组测试数据,输出Case #x: answer; 如果只有一个缆车,输出-1.
输入样例
  1. 3
  2. 1 2 3
  3. 5
  4. 1 2 3 5 7
  5. 6
  6. 2 3 1 2 7 5
输出样例
  1. Case #1: 1
  2. Case #2: 2
  3. Case #3: 3
Hint
  1. 对于第三个样例,当他们进入缆车后,缆车的值是{{1},{2}, {3}, {5}, {7}},但第二个缆车有两个朋友,所以答案是3.
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <cstdio>
  4. #include <map>
  5. typedef long long LL;
  6. using namespace std;
  7. const int Max=;
  8. const int MOD=;
  9. struct node
  10. {
  11. LL value,num;
  12. node(int xx,int yy):value(xx),num(yy){}
  13. node(){}
  14. bool operator < (const node &another) const
  15. {
  16. return value<another.value;
  17. }
  18. }a[Max];
  19. map<int,int>book;
  20. map<int,int>idx;
  21. int main()
  22. {
  23. int n,ca=,x,y;LL sum;
  24. while(~scanf("%d",&n))
  25. {
  26. book.clear();
  27. idx.clear();
  28. int top=,wei;
  29. for(int i=;i<n;i++)
  30. {
  31. scanf("%d",&x);
  32. book[x]++;
  33. if(book[x]==)
  34. {
  35. a[top].value=x;
  36. a[top].num=;
  37. idx[x]=top;
  38. top++;
  39. }
  40. else
  41. {
  42. wei=idx[x];
  43. a[wei].num=book[x];
  44. }
  45. }
  46. if(top==) {printf("Case #%d: -1\n",ca++);continue;}
  47. sort(a,a+top);
  48. int ans=;
  49. for(int i=;i<top;i++)
  50. {
  51. // cout<<a[i].value<<" ";
  52. if(i==)
  53. {
  54. sum=a[n-].value+a[].value;
  55. if(sum%MOD==a[].value) ans+=a[].num;
  56. }
  57. else if(i==n-)
  58. {
  59. sum=a[n-].value+a[n-].value;
  60. if(sum%MOD==a[].value) ans+=a[n-].num;
  61. }
  62. else
  63. {
  64. sum=a[i-].value+a[i].value;
  65. if(sum%MOD==a[i+].value) ans+=a[i].num;
  66. }
  67. }
  68. printf("Case #%d: %d\n",ca++,ans);
  69. }
  70. return ;
  71. }

hdu 5174 Ferries Wheel的更多相关文章

  1. hdu 5174(计数)

    Ferries Wheel Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  2. Valentine's Day Round 1001.Ferries Wheel(hdu 5174)解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5174 题目意思:给出 n 个人坐的缆车值,假设有 k 个缆车,缆车值 A[i] 需要满足:A[i−1] ...

  3. HDU 5174

    题意有点不明白,因为MAX为int最大值,推测为64位,AC #include <cstdio> #include <iostream> #include <cstrin ...

  4. hdu 5175(数论)

    Misaki's Kiss again Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Othe ...

  5. BestCoder Valentine's Day Round

    昨晚在开赛前5分钟注册的,然后比赛刚开始就掉线我就不想说了(蹭网的下场……),只好用手机来看题和提交,代码用电脑打好再拉进手机的(是在傻傻地用手机打了一半后才想到的办法). 1001,也就是 hdu ...

  6. Misaki's Kiss again(hdu5175)

    Misaki's Kiss again Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Othe ...

  7. hdu 4424 & zoj 3659 Conquer a New Region (并查集 + 贪心)

    Conquer a New Region Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...

  8. HDU 3461 Code Lock(并查集+二分求幂)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3461 A lock you use has a code system to be opened in ...

  9. hdu 1038 Biker&#39;s Trip Odometer(水题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=1038 Biker's Trip Odometer Time Limit: 2000/1000 MS ...

随机推荐

  1. java 定位工具

    #查看JVM所有进程及启动类信息以及PID jps -mlvV #查看JVM运行各种状态信息,包括GC,类加载,堆内存信息,jit编译信息等jstat -gcutil <PID> (堆内存 ...

  2. Sql2005常用函数大全

    --聚合函数use pubsgoselect avg(distinct price) --算平均数from titleswhere type='business'go use pubsgoselect ...

  3. java四舍五入保留几位小数

    double d = 3.1415926; String result = String.format("%.2f", d); // %.2f %. 表示 小数点前任意位数 2 表 ...

  4. sql 查询出当天记录数据

    select updatetime,NewComment,HistoryID,sum(1) over(partition by UpdateTime) from LPProjectHistoryord ...

  5. 【洛谷2624_BZOJ1005】[HNOI2008] 明明的烦恼(Prufer序列_高精度_组合数学)

    题目: 洛谷2624 分析: 本文中所有的 "树" 都是带标号的. 介绍一种把树变成一个序列的工具:Prufer 序列. 对于一棵 \(n\) 个结点的树,每次选出一个叶子(度数为 ...

  6. 从flappy bird中论优化

    前两天刚刚做完2014年noipD1T3飞扬的小鸟 其实这道题本身并不是一道很难的DP 状态容易想到,转移也容易想到 但是出于我的基础较差,还是出了较大的偏差 Problem: Flappy Bird ...

  7. ORACLE SEQUENCE用法(转)

    ORACLE SEQUENCE用法 在oracle中sequence就是序号,每次取的时候它会自动增加.sequence与表没有关系. 1.Create Sequence     首先要有CREATE ...

  8. scala的枚举

    package com.test.scala.test /** * 枚举 */ object Enum extends Enumeration { val Red,Yellow,Green=Value ...

  9. 笨拙而诡异的 Oracle

    有这样一段 SQL 代码: 通过 C# 获取查询结果:    SQL 代码中有两个参数,且都是字符串类型,以上的 C# 代码是生成 Oracle SQL 代码所需要的参数.运行结果如下:   居然发生 ...

  10. wordpress 你所不知道的固定链接设置方法,设置适合自己的个性固定链接,适合SEO

    %year% 年份,四位数字,例如2004年  %monthnum% 一年的月份,例如05  %day% 一个月的日子,例如28  %hour% 一天中的小时,例如15  %minute% 小时,例如 ...