POJ3373Changing Digits
来源:互联网 发布:mac上能玩的热门网游 编辑:程序博客网 时间:2024/04/30 15:56
【题意】
给出n和k,求一个数m,m是满足所有以下4个条件的数:(1)与n位数相同(2)能被k整除(3)与n相同位的数不相同最少(4)满足以上3个条件的最小值。其中1≤n≤10100 , 1≤k≤104,k≤n
【思路】
此题是看了别人的解题报告才写出来。一开始不知道怎么搜,没思路。我们知道:假设k的位数是D,那么改变n的最后D+1位,能得到k+1的顺序数,由鸽巣原理,这k+1个数中至少有1个数能被k整除。所以,至多替换n的D+1位,肯定能找到结果。(1)先搜比n小的数
【code】
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
char str[110];
int k, len;
int num[110], test[110];
int for_mod[110][10];
int remember[110][10010];
void init()
{
}
bool DFS(int left, int index, int mod)
{
}
int main()
{
}
- POJ3373Changing Digits
- POJ3373Changing Digits(DFS+强剪枝)
- 11687 - Digits
- Swapping Digits
- hdu4333Revolving Digits
- uva11198Dancing Digits
- Swap Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- Add Digits
- LeetCode_Add Digits
- Delete Digits
- Add Digits
- Add Digits
- leetcode_258_Add Digits
- Add Digits
- ubuntu下安装mysql
- strust2的“No result defined for action cn.xx.xxxAction and result input”错误
- poj 2482 Stars in Your Window(线段树+离散化+扫描线)
- C++学习【原创】remove和rem…
- priority_queue用法
- POJ3373Changing Digits
- 搜索,A* IDA*
- linux常用命令100个用法
- AC自动机算法
- 怎样写一个解释器
- 什么是“脚本语言”
- infiniDB在linux下完成倒库
- Lisp 已死,Lisp 万岁!
- 什么是语义学