国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

poj 1416 Shredding Company(dfs)

2019-11-08 02:22:45
字體:
來源:轉載
供稿:網友

參考題解:http://blog.csdn.net/lyy289065406/article/details/6647969 題意和思路在題解都有,思路很簡單,奈何我寫了好久愣是沒實現出來。。。

#include <iostream>#include <cmath>#include <cstring>using namespace std;int aim,result,path,sum,p;int vist[1000000];int Mpow(int a, int b){ int res = 1; while(b) { if(b & 1) res *= a; a = a*a; b >>= 1; } return res;}int getLen(int n){ return (int)log10(n)+1;}int getValue(char *s, int i){ int k = i; int sum = 0; int b,num,p; while(k) { k--; b = i-k-1; num = s[k] - '0'; p = num*Mpow(10,b); sum += p; } return sum;}int getHead(int n, int i){ int len = getLen(n); if(len <= i) return n; return n/Mpow(10,len-i);}int getTail(int n, int i){ return n%Mpow(10,i);}void DFS(char *s, int len){ if(len == 0) { vist[sum]++; if(sum > result && sum <= aim) { result = sum; path = p; } return; } for(int i = 1; i <= len; ++i) { int a = getValue(s,i); sum += a; if(sum > aim) { sum -= a; //continue; return; } p = p*10+i; char b[7]; int j = 0; for(int k = i; k < len; ++k) b[j++] = s[k]; b[j] = '/0'; DFS(b,len-i); sum -= a; p /= 10; } return;}int main(){ while(true) { char s[7]; cin >> aim >> s; int len = strlen(s); int n = getValue(s,len); if(!aim && !n) break; if(aim == n) { cout << aim << " " << n << endl; continue; } int num = n; int k = 0; while(num) { k += num%10; num /= 10; } if(k > aim) { cout << "error" << endl; continue; } result = -1; sum = 0; path = 0; p = 0; memset(vist,0,sizeof(vist)); DFS(s,len); if(vist[result] > 1) cout << "rejected" << endl; else if(vist[result] == 1) { cout << result << " "; int L = getLen(path); for(int i = 1; i <= L; ++i) { int k = getHead(path,1); cout << getHead(n,k) << " "; n = getTail(n,len-=k); path = getTail(path,L-i); } cout << endl; } } return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安平县| 玉田县| 黔西县| 长宁县| 台南县| 丰宁| 宁乡县| 彰武县| 夹江县| 伊吾县| 襄垣县| 中江县| 余干县| 潜江市| 金溪县| 卢湾区| 扎兰屯市| 青田县| 湖南省| 德安县| 盘山县| 全椒县| 喜德县| 大田县| 县级市| 灵山县| 南和县| 晋江市| 滕州市| 七台河市| 南漳县| 大关县| 丽水市| 肃北| 宁津县| 新民市| 苍梧县| 黑水县| 泸定县| 徐闻县| 博客|