zoukankan      html  css  js  c++  java
  • poj 1416 Shredding Company( dfs )

     我的dfs真的好虚啊……,又是看的别人的博客做的 题目==

    题目:http://poj.org/problem?id=1416

    题意:给你两个数n,m;n表示最大数,m则是需要切割的数。

    切割m,使得切割之后的数的和小于等于n。

    求出最大的切割方法;

    例: 50 12346

    12346可以切割为 1 2 34 6和为43,这个数小于n。

    12346也可以切割为1 2 3 4 6和为16,这个数也小于n;

    但是43大于16,所以去43而不取16;

    参考博客:http://www.cnblogs.com/luyingfeng/

     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<cstdlib>
     5 #include<stack>
     6 #include<queue>
     7 #include<iomanip>
     8 #include<cmath>
     9 #include<map>
    10 #include<vector>
    11 #include<algorithm>
    12 using namespace std;
    13 
    14 int m,n,a[1100],t[1100];
    15 int _max,r,ansk;
    16 void dfs(int n,int sum,int now,int k,int p)
    17 {
    18     if(!n)
    19     {
    20         t[k]=now;
    21         if(sum+now>m) return;
    22         if(sum+now==_max) r++;
    23         else if(sum+now>_max)
    24         {
    25             _max=sum+now;
    26             r=1;
    27             ansk=k;
    28             for(int i=1; i<=k; i++)
    29             a[i]=t[i];
    30         }
    31         return;
    32     }
    33     int mm=n%10;
    34     dfs(n/10,sum,now+p*mm,k,p*10);
    35     t[k]=now;
    36     dfs(n/10,sum+now,mm,k+1,10);
    37 }
    38 int main()
    39 {
    40     while(cin>>m>>n&&(m!=0||n!=0))
    41     {
    42         _max=0; r=0;
    43         dfs(n/10,0,n%10,1,10);
    44         if(_max==0)
    45         {
    46             cout<<"error"<<endl;
    47             continue;
    48         }
    49         if(r>1)
    50         {
    51             cout<<"rejected"<<endl;
    52             continue;
    53         }
    54         cout<<_max;
    55         for(int i=ansk; i>=1; i--)
    56         cout<<" "<<a[i];
    57         cout<<endl;
    58     }
    59     return 0;
    60 }
  • 相关阅读:
    如何使用 systemctl 管理服务
    Linux 下 SVN 的安装和配置
    C语言程序设计
    mysql 常用关键字操作(字符串转数字,字符串截取)
    Spring入门学习---05
    Spring入门学习---03
    使用 TiUP 部署 TiDB 集群
    docker安装kafka+kafka-manager集群
    发发牢骚
    php修改JPG格式图片的dpi
  • 原文地址:https://www.cnblogs.com/bfshm/p/3293531.html
Copyright © 2011-2022 走看看