zoukankan      html  css  js  c++  java
  • 九度 1358 陈博的平均主义

    http://ac.jobdu.com/problem.php?id=1358

    好久没做题了,真希望没有任何考试,大家学自己喜欢学的,太多的规则束缚。。

    DFS,暂时还没想到别的好办法 下面是几个剪枝

    1)所有数字总合为奇数

    2)当前总合已大于所有总合一半

    一次AC,没排序,不知道排序后能不能有更好的剪枝,不过看了下榜,第一名了已经,应该没有太好的办法了

      

     1 #include <stdio.h>
    2 int N,num[10];
    3 int A,B;
    4 int res=0;
    5 bool flag=false;
    6 void dfs(int cur_num,int cur_pos)
    7 {
    8 if(flag)
    9 return;
    10 if(cur_num*2>res)
    11 return;
    12 if(cur_num*2==res){
    13 flag=1;
    14 return;
    15 }
    16 if(cur_pos>=N)
    17 return;
    18 dfs(cur_num+num[cur_pos],cur_pos+1);
    19 dfs(cur_num,cur_pos+1);
    20 }
    21 int tran(int n)
    22 {
    23 res=0;
    24 int i=0;
    25 while(n){
    26 num[i++]=n%10;
    27 res+=n%10;
    28 n/=10;
    29 }
    30 return i-1;
    31 }
    32 bool check(int n)
    33 {
    34 N=tran(n);
    35 flag=false;
    36 if(res%2!=0)
    37 return false;
    38 dfs(0,0);
    39 if(flag)
    40 return true;
    41 return false;
    42 }
    43 int main()
    44 {
    45 while(scanf("%d%d",&A,&B)!=EOF){
    46 int i,num=0;;
    47 for(i=A;i<=B;i++){
    48 if(check(i))
    49 num++;
    50 }
    51 printf("%d\n",num);
    52 }
    53 }


     

  • 相关阅读:
    模拟hadoop-rpc通信
    IOUtils方式上传下载文件
    HDFS基本操作的API
    HDFS基本命令行操作及上传文件的简单API
    gcj_2016_Round1_B
    hiho_1070_RMQ
    hiho_1068_RMQ_st算法
    hiho_1067_最近公共祖先2
    hiho_1062_最近公共祖先
    hiho_1066_并查集
  • 原文地址:https://www.cnblogs.com/yangce/p/2297346.html
Copyright © 2011-2022 走看看