两道题目意思差不多

第一题是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. HDU 1423 LICS 模板

    http://acm.hdu.edu.cn/showproblem.php?pid=1423 4.LICS.O(lena * lenb) 设dp[i][j]表示a[]的前i项,以b[]的第j项结尾时, ...

  2. spring boot jar启动

    1.依赖包输出 记得禁用热加载 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactI ...

  3. leetcode315 Count of Smaller Numbers After Self

    思路: bit + 离散化. 实现: #include <bits/stdc++.h> using namespace std; class Solution { public: int ...

  4. 洛谷P2774 方格取数问题(最小割)

    题意 $n \times m$的矩阵,不能取相邻的元素,问最大能取多少 Sol 首先补集转化一下:最大权值 = sum - 使图不连通的最小权值 进行黑白染色 从S向黑点连权值为点权的边 从白点向T连 ...

  5. Java 11 正式发布,支持期限至2026年9月

    美国当地时间9月25日,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在生产环境中使用!这是自 Java 8 后的首个长期支持版本,非常值得大家的关注,可以通过下面的地址进 ...

  6. NSMutableDictionary 排序问题

    NSMutableDictionary 默认情况下是按字母的顺序进行排序的 (a-z)的默认排序如何自定义排序呢? 第一种,利用数组的sortedArrayUsingComparator调用 NSCo ...

  7. 11G GI启动顺序

    --11gR2 Clusterware and Grid Home - What You Need to Know (文档 ID 1053147.1)         上图来自<Oracle C ...

  8. Python 风格规范

    分号 不要在行尾加分号, 也不要用分号将两条命令放在同一行.     行长度 每行不超过80 个字符 例外: 如果使用Python 2.4 或更早的版本, 导入模块的行可能多于80 个字符. Pyth ...

  9. 环球影城母公司:务必阻止复仇者和 X 战警团聚

    今日导读 去年 12 月,迪士尼宣布收购 21 世纪福克斯后,许多漫威粉丝们马上欢呼:复仇者终于可以和 X 战警团聚了!然而,超级英雄大团圆这个美好景象恐怕不会那么容易实现.就在近日,环球影城母公司— ...

  10. css--使用的四种方法

    前戏 之前学习了HTML相关的知识,也能简单的写一个hello world的页面.但是,只学HTML满足不了我们的需求,而HTML.CSS.JavaScript三者搭配使用才能更好的完成我们需要的效果 ...