ZOJ-1275
来源:互联网 发布:php获取时间 编辑:程序博客网 时间:2024/05/18 03:30
不算太难的DFS,按给出的要求搜吧,注意细节的处理,结果要求输出大于给定整数的最小满足条件的数,其实我这程序也不大严谨,因为只搜了相同长度的情况,如果输入中有999这种数的话,肯定就要从长度为4的串开始搜了,看了标准测试数据没有这样的情况。。所以就偷懒了
#include<iostream>#include<cstring>#include<climits>#include<cstdlib>using namespace std;namespace{int len, begin, num, minn, src[7];bool flag[10], finish;int number(){int res = 0;for (int i = 0; i < len; i++)res = res * 10 + src[i];return res;}void dfs(int depth, int index){if (src[index]){if (depth == len && index == 0){int now = number();if (now >= num && now < minn)minn = now;}return;}for (int i = 1; i < 10; i++){if (depth == 0 && i < begin)continue;int next = (i + index) % len;if (!flag[i]){flag[i] = true;src[index] = i;dfs(depth + 1, next);src[index] = 0;flag[i] = false;}}}}int main(){string s;int cs = 0;while (cin >> s, s != "0"){len = s.size();begin = s[0] - '0';memset(src, 0, sizeof(src));memset(flag, 0, sizeof(flag));finish = false;num = atoi(s.c_str());minn = INT_MAX;dfs(0, 0);cout << "Case " << (++cs) << ": " << minn << endl;}return 0;}
0 0
- ZOJ-1275
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- Python yield 使用浅析
- (二)正则表达式之常用表达式详细解析
- poj 3692 最大独立点集
- BFS模板
- WPF一些概念的区别
- ZOJ-1275
- codeforces 453A Little Pony and Expected Maximum 最大值期望
- 第四章 树(二)
- SDL2.0+ffmpeg2.3
- HDU 3695 Computer Virus on Planet Pandora AC自动机
- 01背包使用滚动数组优化详细讲解
- hdu 1008 Elevator
- 为虚拟机硬盘扩容(Oracle VM VirtualBox)的方法啊
- 【翻译自mos文章】SGA_TARGET与SHMMAX的关系