UVA10129-Play on Words(欧拉道路)

Python 爬虫实战:破解网页 JS 混淆加密参数 摘要:本文针对Python爬虫破解JS混淆加密参数的技术难题,系统解析了变量混淆、控制流混淆、AES/MD5加密混淆等常见类型及其检测方法,提出"定位-还原-复现"的三步破解策略。通过实战案例详细演示了从JS逆向分析到Python代码实现的完整流程,包括MD5签名生成、AES加密复现等核心代码实现,并对不同混淆场景的破解方法进行了对比分析。文中特别强调技术应用的合规性边界,指出开发者应遵守相关法律法规,在合理范围内使用逆向技术。随着反爬技术升级,建议开发者持续学习动态调试等进阶技能,同时 阅读详情

题目链接:

UVA10129-Play on Words


题目大意:

给出一些单词,如果一个单词的首部字母和另一个单词的尾部字母相同,则可以首尾连接,每个单词只能使用一次,判断这些字母是否可以全部连接成一个串。


解题过程:

  • 刚开始没弄清有向图和无向图欧拉路的定义,以为只判断边就可以了,于是简单写了一个只判读边的。
  • 显然是错误的,自己试了几组数据就不对。
    我这样想可能是被这个题带偏了节奏(误

  • 然后仔细看了下书上的定义,还要保证图必须是连同的才可以,于是写了下,一发AC。

  • -

题目分析:

  • 首先明确欧拉路的充要条件:
  • 对于无向图,最多只有两个点的度为1,则一定存在欧拉回路。
  • 对于有向图,最多只能有两个点的入度不等于出度,而且一个是入度恰好比出度大1,另一个是出度比入度大1。
  • 以上两个图都要保证底图(忽略边的方向后得到的图)是连通的。
  • 如果一个图不存在奇点(度数为奇数的点)则构成欧拉回路,否则为欧拉路。

  • 题目是有向图,把每个字母当做点,用两个数组统计每个点入度和出度,并判断。
  • 用dfs的方法把图遍历一遍,看是否每个点都到达过,是的话则是连通的图。
  • 两个判断条件与运算即是结果。
  • -

AC代码:

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;

int head[26], tail[26], data[26][26], mark[26];

bool dfs(int k)
{
    mark[k] = 0;
    for (int i = 0; i < 26; i++)
    {
        if (data[k][i])
        {
            data[k][i] = 0;
            data[i][k] = 0;
            dfs(i);
        }
    }
}

bool judge()
{
    int k;
    for (int i = 0; i < 26; i++)
    {
        if (mark[i] != 0)
        {
            k = i;
            break;
        }
    }
    dfs(k);
    for (int i = 0; i < 26; i++)
        if (mark[i])
            return false;
    return true;
}

int main()
{
    int T;
    cin >> T;
    while (T--)
    {
        memset(head, 0, sizeof(head));
        memset(tail, 0, sizeof(tail));
        memset(data, 0, sizeof(data));
        memset(mark, 0, sizeof(mark));
        int n, flag = 1;
        cin >> n;
        string str;
        while (n--)
        {
            cin >> str;
            head[str[0]-'a']++;
            tail[str[str.size()-1]-'a']++;

            data[str[0]-'a'][str[str.size()-1]-'a'] = 1;
            data[str[str.size()-1]-'a'][str[0]-'a'] = 1;

            mark[str[0]-'a'] = 1;
            mark[str[str.size()-1]-'a'] = 1;
        }
        int a = 0, b = 0;
        for (int i = 0; i < 26; i++)
        {
            if (head[i]-tail[i] == 1)
                a++;
            if (tail[i]-head[i] == 1)
                b++;
            if (abs(head[i]-tail[i]) > 1)
                flag = 0;
        }
        if (flag && a == b && a <= 1 && judge())
            cout << "Ordering is possible." << endl;
        else
            cout << "The door cannot be opened." << endl;
    }
}

扩展应用:

按书上的说法欧拉回路的来源好像就是为了解决一笔画问题,于是写了一个有意思的程序,给定一个含有欧拉路的图,求如何打印欧拉路。


功能用法:

首先打开一个游戏
这里写图片描述

然后分析出有几条边和点。
这里写图片描述

输入数据,即可得出结果。
这里写图片描述


源代码:

#include <iostream>
#include <cstring>
#include <stack>
using namespace std;

const int MAX = 1123;

int m, n;
int data[MAX][MAX];
stack<int> ans;

void dfs(int pos)
{
    for (int i = 1; i <= n; i++)
    {
        if (data[pos][i])
        {
            data[pos][i] = 0;
            data[i][pos] = 0;
            dfs(i);
        }
    }
    ans.push(pos);
}

void put()
{
    while (!ans.empty())
    {
        cout << "->" << ans.top();
        ans.pop();
    }
    cout << endl;
}

int main()
{
    while (cin >> n >> m)
    {
        memset(data, 0, sizeof(data));
        int a, b;
        for (int i = 0; i < m; i++)
        {
            cin >> a >> b;
            data[a][b] = 1;
            data[b][a] = 1;
        }
        dfs(1);
        put();
    }
}
C#使用OpenCvSharp+微信模型识别多个二维码 本文介绍了一个基于OpenCvSharp和微信开源二维码检测器的多二维码识别项目。该项目通过C# WinForm实现,主要功能包括:加载图片、识别图片中的多个二维码并显示识别结果。核心代码使用了OpenCvSharp.WeChatQRCode类,通过预训练的caffe模型(detect.prototxt/detect.caffemodel和sr.prototxt/sr.caffemodel)进行二维码检测和解码。识别结果包括每个二维码的编号、内容及位置信息。项目适用于批量二维码识别场景,部署简单,识别效果良 阅读详情

相关推荐

阿里云网络架构设计

背景 一个企业上云,首先要考虑整个网络的规划,涉及到云上和云下的网络规划,云上VPC的规划,云上不同地域VPC的互通,云上可用区的选择等等,所以一定要提前规划好整体的网络架构,现在阿里云云上的虚拟化网络解决方案已经完全转向 了云企业网,所以所有使用阿里云的企业客户多多少少都会使用阿里云的CEN 支撑自己的业务。 云企业网介绍 云企业网(Cloud Enterprise Network)是承载在阿里云提供的高性能、低延迟的私有全球网络上的一张高可用网络。 IDC专线接入CEN 首先面临的是云上和云下打通,那么

修电脑的码农 4838

UVa 10129 - Play on Words

題目:考古學家在迷宮裡發現了一些單詞,把他們首尾相接拼在一起,放到門的機關上,             如果連接的字母相同,們就會打開,現在給你單詞,問門是否能打開。 分析:圖論,歐拉路徑,并查集。利用并查集求解歐拉路徑即可。             歐拉路徑存在條件:             1.存在邊的節點聯通;             2.所有節點的入度和出度相同,或者有一個點入度

小白菜又菜 625

WPS用户看过来:避开格式错乱坑,用WPS Office完美制作红头文件(2024最新版)

本文详细解析了WPS Office与Word在红头文件制作中的核心差异,提供了2024年最新版的零误差实战指南。从字体处理、页面布局到红头制作关键步骤,帮助用户避开格式错乱坑,确保跨设备显示一致。特别针对WPS用户优化,解决字体丢失、版式错位等常见问题。

weixin_26800111的博客 216

UVA 10129 - Play on Words (单词) By SuCicada

例题6-16 单词(Play On Words, UVa 10129) 输入n(n≤100000)个单词,是否可以把所有这些单词排成一个序列,使得每个单词的 第一个字母和上一个单词的最后一个字母相同(例如acm、malform、mouse)。每个单词最多包含1000个小写字母。输入中可以有重复单词。 Sample Input 3 2 acm ibm 3 acm malform mouse 2 ok ok Sample Output The door cannot be opened. Ordering i.

SuCicada 小米的蝉 475

TCP协议中ARQ自动重传的三种实现方式对比(含SACK详解)

本文深入解析TCP协议中ARQ自动重传的三种实现方式,包括停止-等待、回退N步和选择重传协议,特别详细介绍了SACK机制的工作原理和优势。通过对比分析各协议的效率、复杂度和适用场景,为网络通信中的可靠性传输提供了实用的选型指南。

weixin_30776273的博客 462

MATLAB与STK互联23:卫星对象操作(14)—仿真分析案例1,建立8个地面站,分析对卫星的可见性

学习到这里,我们有必要做个仿真分析案例,把之前我们学习的零散知识点串起来,看一下在真实的分析中怎么应用。 分析要求:建立8个地面站,分析每个地面站对某个轨道高度500km、倾角60°圆轨道的卫星,1天内的可见次数、可见弧长以及可见弧段间隔列表。 基本约束:地面站仰角8°~90°,作用距离<2000km,太阳矢量与地面站到卫星视线夹角不小于15°,可见弧段应大于30s。地面站站址可随机生成,但要求在南北纬50°范围内。 下面上代码: uiap = actxserver(‘STK11.application’)

ltylty001的博客 7491

poj 1386 ZOJ 2016 Play on Words(并查集+欧拉通路)

Play on Words Time Limit:1000MS Memory Limit:10000K Total Submissions:7826 Accepted:2759 Description Some of the secret doors contain a very interestin...

weixin_30377461的博客 193

VS Code配置Java开发环境避坑指南:从JDK到Spring Boot插件全流程

本文详细介绍了在VS Code中配置Java开发环境的完整流程,涵盖JDK选择、环境变量配置、核心插件安装、构建工具优化及Spring Boot项目专项设置。特别针对常见问题提供避坑方案,帮助开发者快速搭建高效稳定的开发环境,提升Java和Spring Boot开发效率。

weixin_28839699的博客 977

杭电ACM1116——Play on Words~~欧拉路径与欧拉回路

这一题,相比之前做的题目,增加了欧拉路径的求解。而且这一题是有向图。题目大概的意思就是成语接龙,能接起来就算可以打开门,因此要考虑两种,一种是回路,另外一种是一条路径。 第一次WR就是因为没有考虑回路这一个因素。 有向图中,欧拉回路与欧拉路径的求解方法: 1.欧拉回路: 首先当然是图连通,其次就是所以顶点的入度都等于出度。 2.欧拉路径: 首要的还是图连通,然后就是存在一个顶点的出度大

XD 1092

手把手教你用AirSim和Unreal4在Ubuntu上创建自定义无人机仿真场景

本指南详细介绍了如何在Ubuntu系统上使用AirSim和Unreal Engine 4搭建高精度无人机仿真环境。从硬件配置、驱动安装到Unreal Engine编译和AirSim集成,手把手教你创建自定义场景,适用于算法验证和开发测试。

y7z8a的博客 256

STM32 DMA串口重定向printf:高效调试与性能优化实战

本文详细介绍了STM32 DMA串口重定向printf的实现方法与性能优势。通过对比传统方式的CPU高占用问题,阐述了DMA技术如何实现高效数据传输,大幅降低CPU负载。文章包含完整的代码实现、缓冲区管理技巧及实战调试方案,帮助开发者优化嵌入式系统调试效率。

lake5的博客 99

UVa 10129 - Play on Words, 欧拉道路

10129 - Play on Words 8881 24.43% 1751 68.65% 题目链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=105&page=show_problem&proble

D_Double's Journey 8274

EDKII环境配置完整版

参考博客【EDK2 UDK2018的环境搭建】:https://blog.youkuaiyun.com/qq_39155263/article/details/82965744下载EDK2 1.直接从https://github.com/tianocore/edk2/ 网站下载.zip压缩文件 2.运用svn 从http://svn.code.sf.net/p/edk2/code/trunk/edk2edk2下载 3.安装Visual Studio2017 安装其他Tool 1.IASL 从https..

tianpu2320959696的博客 1853

UVA - 10129 Play on Words(有向欧拉道路存在性)

题目链接:http://vjudge.net/problem/UVA-10129 题意:给定n个单词,问能否将其按前一个单词的最后一个字母和后一个单词的第一个字母相同的连接方式将其连成一串。 分析:对于单词只考虑第一个字母和最后一个字母即可。将首尾字母看成节点,单词看成边,问题就变成是否存在一条路径恰好将所有的边走一遍,这就是欧拉道路的定义,所以这是一条判断是否是欧拉道路的简单题目。方法可

smwqd_yehua_cx的博客 609

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

UVa 10129 - Play on Words(欧拉道路)

给出n个单词, 是否可以把所有单词排成一个首尾相连的排序。 典型的欧拉道路的题, 把字母当成结点,然后判断是否为欧拉道路。 欧拉道路存在的两个条件: 1.最多只能有两个结点的入度不等于出度,两点有一点的入度 - 出度 = 1,此为起点, 另一点出度 - 入度 = 1, 此为终点。另外就是每个点的入度等于出度。 2.忽略方向得到的地图连通。

ZmiL_ 461

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Uva 10129 Play on Words(欧拉道路)

题目连接:Uva 10129  Play on Words

fobdddf的专栏 609

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

UVa 10129 - Play on Words 欧拉道路

Play on Words Some of the secret doors contain a very interesting word puzzle. The team of archaeologists has to solve it to open that doors. Because there is no other way to open the doors, the puzz

GodLike 1506

Uva 10129 - Play on Words 单词接龙 欧拉道路应用

跟Uva 10054很像,不过这题的单词是不能反向的,所以是有向图,判断欧拉道路。 关于欧拉道路(from Titanium大神): 判断有向图是否有欧拉路 1.判断有向图的基图(即有向图转化为无向图)连通性,用简单的DFS即可。如果图都不连通,一定不存在欧拉路 2.在条件1的基础上   对于欧拉回路,要求苛刻一点,所有点的入度都要等于出度,那么就存在欧拉回路了   对于欧拉道路,要求

水果君の日常 3470

【UVA10129】Play on Words(欧拉回路+有向图连通性判断+打印欧拉道路)

题目:https://vjudge.net/problem/UVA-10129 基础知识: 欧拉道路:形象成为“一笔画”,即一笔可以经过所有的边,除了起点和终点外,其他点必定是入度=出度,即为偶点 无向图: 连通且最多只有两个奇点(奇度数顶点)----存在欧拉道路 连通且都是偶点-----存在欧拉回路(从顶点出发又回到顶点) 有向图: 连通且最多只有两个顶点入度不等于出度,并且一个点入...

Cassie_zkq的博客 701

uva10129 Play On words (有向欧拉道路存在性)

题意:判断能不能把所有单词首尾相连。 能单词相连的部分字母必须相同 思路:其实就是判断欧拉道路的存在性。 每个单词只取首位, 不用保存。  刚看题目以为是拓扑排序。 有点混乱了。    方法一:用并查集判断图的连通性(判断连通性需要把有向图当做无向图来看!)    方法二:用DFS来判断图的连通性。    以上两种方法都要判断度数的合法性: 即 所有vertex 的 in-deg == o

MistKafka的专栏 3313

uva 10129 Play on Words(欧拉道路)

Play on Words Some of the secret doors contain a very interesting word puzzle. The team of archaeologists has to solve it to open that doors. Because there is no other way to open the doors, the pu

不慌不忙、不急不躁 1578

UVa 10129 Play On Words【欧拉道路 并查集 】

题意:给出n个单词,问这n个单词能否首尾接龙,即能否构成欧拉道路 按照紫书上的思路:用并查集来做,取每一个单词的第一个字母,和最后一个字母进行并查集的操作 但这道题目是欧拉道路(下面摘自http://blog.youkuaiyun.com/hcbbt/article/details/9316301) 关于欧拉道路(from Titanium大神): 判断有向图是否有欧拉路 1.判断有向图...

weixin_30511107的博客 89

UVA 10129 Play on Words(欧拉道路)

题意:给你n个字符串,问你是否可以出现一条链,保证链中每个字符串的第一个元素与上一个字符串的最后一个元素相同,注意可能重复出现同一个字符串 题解:以每一个字符串第一个元素指向最后一个元素形成一个有向图,判断这个有向图是否可以形成欧拉路就好    注意可能有重边与自环,因此求欧拉路时判断的是是否使用完了所有的边,求起点时注意出度与入度的计算    欧拉道路是从一个点一笔画完整张图(欧拉回...

weixin_33919941的博客 100

[UVA10129]Play on Words(欧拉道路+DFS)

紫书上这道题出现在欧拉回路那一小节,书上关于欧拉道路介绍的很少,就给出一点文字和几行代码=_= 然后就给出这道题,做了好长时间就是做不出来,参考了一些博客终于a出来了orz…… #include &amp;lt;bits/stdc++.h&amp;gt; using namespace std; const int maxn = 30; int G[maxn][maxn]; int in[maxn],...

sunmaoxiang的博客 398

Play on Words UVA - 10129(欧拉道路)

Some of the secret doors contain a very interesting word puzzle. The team of archaeologists has to solve it to open that doors. Because there is no other way to open the doors, the puzzle is very impo...

短发 281
上一篇: UVA122 Trees on the level(二叉树建立与遍历)
下一篇: 我已经是一只废桔了(素数筛选+二分查找)
ACM_Fish
博客等级 码龄10年 69粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值