zoukankan      html  css  js  c++  java
  • 英雄卡

    题目描述
    小李非常迷恋收集各种干脆面里面的英雄卡,为此他曾经连续一个月都只吃干脆面这一种零食,但是有些稀有英雄卡真的是太难收集到了。后来某商场搞了一次英雄卡兑换活动,只要你有三张编号连续的英雄卡,你就可以换任意编号的英雄卡。小李想知道他最多可以换到几张英雄卡(新换来的英雄卡不可以再次兑换)。

    输入
    第一行,共一个整数n(1<=n<=10000),表示小李拥有的英雄卡数。
    第二行,共n个空格隔开的数字ai(1<=ai<=100000),表示英雄卡的编号。

    输出
    输出仅有一行,共1个整数,表示小李最多可以换到的英雄卡。

    样例输入
    复制样例数据
    6
    3 1 2 4 4 5
    样例输出
    1

    提示
    1 2 3三张编号连续,可以换一张,换完后剩下4 4 5,不符合兑换规则,无法继续兑换。

    #include <bits/stdc++.h>
    using namespace std;
    int minz(int a,int b,int c)
    {
        return min(min(a,b),c);
    }
    int main()
    {
        int a[100005]={0},n,x,ans=0;
        scanf("%d",&n);
        for(int i=0;i<n;i++){
            scanf("%d",&x);
            a[x]++;
        }for(int i=1;i<=100000;i++){
            if(a[i]>=1&&a[i+1]>=1&&a[i+2]>=1){
                x=minz(a[i],a[i+1],a[i+2]);
                ans+=x;
                a[i]-=x;a[i+1]-=x;a[i+2]-=x;
            }
        }printf("%d
    ",ans);
        return 0;
    }
    
    

    思路很简单,就是号数存为下标,遇到连续的就减最小的数目。

  • 相关阅读:
    泛型
    java unicode补充字符带来的码点和代码单元问题
    GIT相关
    Html5 Canvas学习
    解决animate动画连续播放bug
    自定义对象级别的组件开发
    关于常用却忘记的css,jQuery
    json格式初涉
    ajax
    jquery.validation.js的自定义方法
  • 原文地址:https://www.cnblogs.com/skyleafcoder/p/12319590.html
Copyright © 2011-2022 走看看