两道题目意思差不多

第一题是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. CGI和Servlet的比较

    转载自:http://www.maxhis.info/java/cgi-vs-servlet/ 概括来说,CGI和Servlet可以完成相同的功能. CGI(Common Gateway Interf ...

  2. SQL 列拼接使用

    一个产品收藏表 Collection , 把该产品被收藏的人拼接在一列中如下: SQL SERVER SELECT ProjectID, UserIDs = ','+(STUFF((SELECT ', ...

  3. AJPFX总结抽象类和接口的区别

    /*                 * 抽象类和接口的区别                 *                 1.成员的区别                         *   ...

  4. 在LXC Centos6-moban 编译安装mysql-5.6.36 时候遇见的报错

    在LXC安装Centos6-moban   编译安装mysql-5.6.36 cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.36 -DMY ...

  5. python的特殊数字类型(无穷大、无穷小等)

    float('inf') 表示正无穷 -float('inf') 或 float('-inf') 表示负无穷 其中,inf 均可以写成 Inf 起步python中整型不用担心溢出,因为python理论 ...

  6. 解决selenium.common.exception.WebDriverException:Message:'chromedriver' executable needs to be in Path

    'chromedriver' executable needs to be in Path 声明:本人萌新,刚学python不久记录一下自己的坑,发出来若能帮助到一些人尽早解决问题那便是极好的,( ̄▽ ...

  7. 吸顶条 ---- jQ写法

    <script> $(function () { var barTop = $('#bar').offset().top; //on方法相当于原生的绑定 $(window).on('scr ...

  8. Django的架构

    简介 Django继承并简化了MVC架构.MVC中的Controller部分基本全由Django完成.View部分被分割成两部分,即:负责HTML渲染的模板和负责显示逻辑的视图.所以Django又被称 ...

  9. spring boot 在idea中实现热部署

    1)在pom中直接引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifac ...

  10. 【分享】 封装js操作textarea 方法集合(兼容很好)。

    请使用下面的btn操作. 虽然你现在看来没什么用,当要用的时候又到处找资料,还不如现在收集一下.         在DOM里面操作textarea里面的字符,是比较麻烦的. 于是我有这个封装分享给大家 ...