两道题目意思差不多

第一题是10进制 , 第二题是2进制的

都是利用欧拉回路的fleury算法来解决

因为我总是希望小的排在前面,所以我总是先将较小数加入栈,再利用另一个数组接收答案,但是这里再从栈中导出来答案要倒一下了,这一点要注意

poj 1780

 #include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
#define N 1000010 int ans[N] , cnt[N] , stack[N];
int top1 , top2;
int mod;
void euler(int v)
{
while(cnt[v]<)
{
int w=v*+cnt[v];
cnt[v]++;
stack[top1++]=w;
v=w%mod;
}
} int main()
{
// freopen("in.txt" , "r" , stdin);
int n;
while(scanf("%d" , &n) , n)
{
top1 = , top2 = , mod = (int)pow(10.0,(n-)*1.0);
stack[top1++] = ;
memset(cnt , , sizeof(cnt));
cnt[]++;
while(top1)
{
ans[top2++] = stack[--top1];
int v = ans[top2-]/;
euler(v);
}
for(int i= ; i<=n ; i++) printf("%d" , );
for(int i=top2- ; i>= ; i--) printf("%d" , ans[i]%);
puts("");
}
return ;
}

poj 1392

 #include <cstdio>
#include <cstring>
#include <iostream> using namespace std;
#define N (1<<16) int ans[N] , cnt[N] , stack[N];
int top1 , top2 , mod; void euler(int v , int mod)
{
while(cnt[v]<)
{
int w=v*+cnt[v];
cnt[v]++;
stack[top1++]=w;
v=w%mod;
}
} int q_pow(int a , int b)
{
int ans = ;
while(b)
{
if(b&) ans *= a;
a*=a;
b>>=;
}
return ans;
} int main()
{
// freopen("in.txt" , "r" , stdin);
int n,k;
while(scanf("%d%d" , &n , &k) , n||k)
{
top1=top2=;
memset(cnt , , sizeof(cnt));
stack[top1++] = ;
mod = q_pow( , n-);
while(top1)
{
ans[top2++] = stack[--top1];
int v=stack[top1]/;
euler(v , mod);
}
int index = top2-k-;
printf("%d\n" , ans[index]);
}
return ;
}

poj 1780 , poj 1392 欧拉回路求前后相互衔接的数字串的更多相关文章

  1. POJ 1780 Code(欧拉回路+非递归dfs)

    http://poj.org/problem?id=1780 题意:有个保险箱子是n位数字编码,当正确输入最后一位编码后就会打开(即输入任意多的数字只有最后n位数字有效)……要选择一个好的数字序列,最 ...

  2. poj 1523Tarjan算法的含义——求取割点可以分出的连通分量的个数

    poj 1523Tarjan算法的含义——求取割点可以分出的连通分量的个数 题目大意:如题目所示 给你一些关系图——连通图,想要问你有没有个节点,损坏后,可以生成几个互相独立的网络(也就是连通分量), ...

  3. zoj 1119 / poj 1523 SPF (典型例题 求割点 Tarjan 算法)

    poj : http://poj.org/problem?id=1523 如果无向图中一个点 u 为割点 则u 或者是具有两个及以上子女的深度优先生成树的根,或者虽然不是一个根,但是它有一个子女 w, ...

  4. POJ - 3294~Relevant Phrases of Annihilation SPOJ - PHRASES~Substrings POJ - 1226~POJ - 3450 ~ POJ - 3080 (后缀数组求解多个串的公共字串问题)

    多个字符串的相关问题 这类问题的一个常用做法是,先将所有的字符串连接起来, 然后求后缀数组 和 height 数组,再利用 height 数组进行求解. 这中间可能需要二分答案. POJ - 3294 ...

  5. POJ 1496 POJ 1850 组合计数

    Code Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 8256 Accepted: 3906 Description Tran ...

  6. [LeetCode] Sum Root to Leaf Numbers 求根到叶节点数字之和

    Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number ...

  7. js求连个数之间的数字

    整理出自项目中一个需求,求两个数之间的数字. const week = function(arr,arr2){ let a=parseInt(arr); let b=parseInt(arr2); l ...

  8. 求矩阵中各列数字的和 Exercise08_01

    import java.util.Scanner; /** * @author 冰樱梦 * 时间:2018年12月 * 题目:求矩阵中各列数字的和 * */ public class Exercise ...

  9. 计蒜之道 初赛 第三场 题解 Manacher o(n)求最长公共回文串 线段树

    腾讯手机地图 腾讯手机地图的定位功能用到了用户手机的多种信号,这当中有的信号的作用范围近.有的信号作用的范围则远一些.有的信号相对于用户在不同的方位强度是不同的,有的则是在不论什么一个方向上信号强度都 ...

随机推荐

  1. eclipse导入php项目

    整个工程的都在一个文件夹里面 怎么把它导入到eclipse里面呢:在eclipse里新建一个与要导入的工程同名工程.

  2. sys模块详解

    1.sys.argv argv是「argument variable」参数变量的简写形式,一般在命令行调用的时候由系统传递给程序.这个变量其实是一个List,argv[0] 一般是“被调用的脚本文件名 ...

  3. 洛谷P3254 圆桌问题(最大流)

    题意 $m$个不同单位代表参加会议,第$i$个单位有$r_i$个人 $n$张餐桌,第$i$张可容纳$c_i$个代表就餐 同一个单位的代表需要在不同的餐桌就餐 问是否可行,要求输出方案 Sol 比较zz ...

  4. pandas中loc-iloc-ix的使用

    转自:https://www.jianshu.com/p/d6a9845a0a34 Pandas中loc,iloc,ix的使用 使用 iloc 从DataFrame中筛选数据 iloc 是基于“位置” ...

  5. synchronize早已经没那么笨重

    我发现一些同学在网络上有看不少synchronize的文章,可能有些同学没深入了解,只看了部分内容,就急急忙忙认为不能使用它,很笨重,因为是采用操作系统同步互斥信号量来实现的.关于这类的对于synch ...

  6. Outlook 数据文件(.pst 和 .ost)简介

    使用 Microsoft Outlook 时,电子邮件.日历.任务和其他项目保存在邮件服务器或计算机上,或者同时保存在这两个位置.如果 Outlook 项目保存在计算机上,则它们保存在 Outlook ...

  7. PHP07 函数

    学习要点 函数的定义 自定义函数 函数的工作原理和结构化编程 PHP变量范围 声明及应用各种形式的PHP函数 递归函数 使用自定义函数库 匿名函数和闭包 常用PHP系统函数 PHP7函数新特性 函数的 ...

  8. java 垃圾回收之标记算法

    对象被判定为垃圾的标准 1.没有被其他对象引用 判定对象是否为垃圾的算法 1.引用计数算法(不是主流垃圾回收机制) 1.1 判定对象的引用数量 1.1.1 通过判断对象的引用数量来决定对象是否可以被回 ...

  9. SQL Prompt 格式化SQL会自动插入分号的问题

    一.问题 安装新版SQL Prompt,格式化SQL都会自动在SQL末端插入分号 格式化前 格式化后 二.解决方法 选择SQL Prompt下的Options... 选择左侧的Format下Style ...

  10. sqlserver生成脚本

    1.只生成数据 2.只生成架构 3.生成数据和架构