zoukankan      html  css  js  c++  java
  • card

    if sum of the two cards of the same number is identical with the number in another card,you can remove these three cards.

    in otner words,if there are cards as follows:

    2 4 7 3 3 6 2 8

    as 2 +2=4,three of the  cards can be removed.

    finally,two cards of 7,8 remained .therefore ,return 15=7+8.

    there is no fixed orders to rermove cards.

    code:

    #include <stdio.h>
    #include <stdlib.h>
    int test_main(int data[8]);
    void build_data(int data[999])
     {
      for(int i=0;i<999;i++)
      {
         data[i]=rand()%24+1;
      }
        }
    void main(void)

     int data[8]={2,4,7,3,3,6,2,8};
     for(int l=0;l<10;l++)
     {
      //build_data(data);
      printf("%d ",test_main(data));
     }
     return ;
    }
     
    int test_main(int data[8])
    {
       int i,n,sum,p;
       int times[25]={0};
       for(i=0;i<8;i++)//每个数字出现的次数
        {
         times[data[i]]++;
           } 
       for(n=12;n>0;n--)
     {
      while(times[2*n]>=1&&times[n]>=2)
      {
       times[n]=times[n]-2;
       times[2*n]--;
      }
     }
       for(p=1,sum=0;p<=24;p++)
       {
      sum=sum+p*times[p];
       }
       return sum;
    }

  • 相关阅读:
    Linux目录图解
    Linux-Monitor-Tools
    常用系统及工具下载
    vim 编辑器常规使用
    Win10 安装.NET framework 3.5
    Apache 2.4.6 新增虚拟目录
    html5
    CentOS 7 修改ssh端口
    CentOS7 设置密码复杂度
    CentOS 7安装 hping
  • 原文地址:https://www.cnblogs.com/ZzznOoooo/p/6625231.html
Copyright © 2011-2022 走看看