Self-Assembly UVA - 1572 拓扑排序

Matlab:imageDatastore() 高效读取图像数据集的实战技巧 本文详细介绍了Matlab中imageDatastore()函数的高效使用技巧,帮助用户从繁琐的手动读取图像数据集中解放出来。通过核心语法、关键参数(如IncludeSubfolders、LabelSource、ReadSize)的解析,以及数据集分割、打乱等进阶实战操作,指导读者构建稳定、高效的图像数据读取管道,特别适用于大型图像数据集处理和机器学习项目。 阅读详情

思路:书上的思路把正方形看成边,因为可以折叠跟翻转,所以不用考虑拼完后的形状 能接上就OK

其中连接时  应该把所有的前面的符号翻转如A+A+ 代表A-可以和A+相连 A-B+代表A+可以和B+相连  最后构成一个有向图拓扑看有没有环 


#include<bits/stdc++.h>
using namespace std;
int mp[52][52];//前26为正 后26为负

void link(char a1,char a2,char b1,char b2){
    int a,b;
    if(a1=='0'||b1=='0')return ;
if(a2=='+'){
    a=a1-'A'+26;   //意味着  如果 A+B-意味着  A-可以连接B-
}
else if(a2=='-'){
    a=a1-'A';
}
if(b2=='-'){
b=b1-'A'+26;
}
    else if(b2=='+'){
        b=b1-'A';
    }
   // cout<<a<<"  "<<b<<endl;
    mp[a][b]=1;
}




int c[52];


bool dfs(int x){
c[x]=-1;
for(int i=0;i<52;i++){
    if(mp[x][i]==1){
        if(c[i]==-1)return 1;
          else if(!c[i]&&dfs(i))return 1;
    }
}
c[x]=1;
return 0;

}



bool solve(){
for(int i=0;i<52;i++){
    if(!c[i]){
            if(dfs(i))return 1;
    }
}
return 0;
}

int main()
{
    int n;
    while(scanf("%d",&n)!=EOF&&n){
            memset(c,0,sizeof(c));
    memset(mp,0,sizeof(mp));
            char s[10];
        for(int k=0;k<n;k++){
            scanf("%s",s);
              for(int i=0;i<4;i++){
                for(int j=0;j<4;j++){
                    if(i!=j)link(s[i*2],s[i*2+1],s[j*2],s[j*2+1]);
                }
              }
        }
        if(solve()){
            printf("unbounded\n");
        }
        else printf("bounded\n");
    }
}

从CAD到Web:高效转换STEP/IGES模型为GLB格式的实践指南 本文详细介绍了如何将工业设计中的STEP/IGES模型高效转换为Web友好的GLB格式。通过PythonOCC和gltf-pipeline等工具链,实现从CAD到Web的无缝转换,大幅提升模型加载速度和展示效果。文章包含实战案例、优化技巧和常见问题解决方案,帮助开发者快速掌握3D模型转换技术。 阅读详情

相关推荐

碳酸钙岩石酸蚀酸溶COMSOL建模:非均质对酸蚀通道的影响

多孔介质中的流动与化学反应耦合是石油工程和地下资源开发中的核心问题,酸液与岩石矿物的溶蚀过程直接关系到酸化增产效果。在碳酸盐岩储层中,盐酸与方解石的反应速率极快,酸液会优先沿高渗透区域推进,形成指状酸蚀通道,即wormhole。传统均质模型难以描述这种局部溶蚀行为,而数值模拟工具COMSOL通过耦合达西定律、稀物质传递与孔隙度演化方程,能够定量刻画酸蚀路径与渗透率的变化规律。工程实践中,模拟结果可用于预测酸液突破体积、优化注入排量,并为基质酸化方案设计提供依据。本文围绕碳酸钙岩石酸蚀酸溶COMSOL模型,探

weixin_29009401的博客 327

Self-Assembly UVA - 1572

题目链接: UVA - 1572 紫书上面的题,用到了拓扑排序,学习一下书中给的代码,见注释. 代码: #include <iostream> #include <cstdio> #include <cstring> using namespace std; int ID(char a1,char a2){ return (a1 - 'A') * 2 +...

链表的基本操作 178

【STABLE_BASELINE3】强化学习算法实战:模型的保存,读取,再训练

STABLE-BASELINE3,模型读取,再训练:有时候需要在已经训练好的模型基础上进行再次训练。

Kiek17的博客 4867

UVA ~ 1572 ~ Self-Assembly (拓扑排序)

题意:有n(n≤40000)种边上带标号的正方形。每条边上的标号要么为一个大写字母后面跟着一个加号或减号,要么为数字00。当且仅当两条边的字母相同且符号相反是,两条边能够拼到一起(00不能和任何边拼在一起,包括另一条标号为00的边)。假设输入的每种正方形都有无穷多种,而且可以翻转和旋转,你的任务是判断能否组成一个无限大的结构。每条边要么悬空(不喝任何边相邻),要么和一个上述可拼接的边相邻。如图6-...

张松超的博客 468

ROS2前置基础教程 | 使用CMakeLists.txt编译ROS2节点

答案是有的,那就是cmake工具。cmake通过调用CMakeLists.txt直接生成Makefile。 2.新建CMakeLists.txt 在新建,输入下面内容。 3.编译代码 我们一般会创建一个新的目录,运行cmake并进行编译,这样的好处是不会显得那么乱。 创建好文件夹,接着运行cmake指令,代表到上级目录找。 运行完cmake你应该可以在build目录下看到cmake自动生成的Makefile了,接着就可以运行make指令进行编译 运行完上面的指令,就可以在build目录下发现节点了。ROS2

生活不止眼前的苟且 1万+

Git Worktree + Claude Code:多终端并发开发完全实战

深入讲解如何使用 Git Worktree 配合多终端 Claude Code 实现并发开发,通过实战案例展示如何在 Android 开发中提升 2-3 倍效率,彻底告别等待 AI 的问题。

Cheson的专栏 1202

Uva - 1572 - Self-Assembly

把A+~Z+,A-~Z-看成52个点,正方形看成边,就得到一个有向图,当存在有向图的时候有解。和10129有点像,做拓扑排序即可。 吐槽:刚开始把循环输入用cin,读取字符串用了scanf,直接WA了,要用还是用成一致的都cin,或者都scanf,这样就没问题了。 AC代码: #include <iostream> #include <cstdio...

anpi3191的博客 172

Unity开源游戏源码精选:17个亲测可运行教学项目

Unity游戏开发中,掌握真实项目结构与工程实践远比熟记API更重要。本文围绕‘Unity开源项目’和‘游戏源码’两大核心概念,解析高质量开源资源的本质特征——结构清晰、逻辑可溯、修改即时反馈。从基础的MonoBehaviour生命周期组织,到进阶的ScriptableObject数据驱动、事件总线解耦,再到架构级的DOTS ECS设计与网络同步模式,技术价值在于将抽象原理落地为可调试、可验证、可迁移的代码范式。适用于新手建立开发直觉、中级开发者突破系统设计瓶颈,以及团队构建可维护框架。所有项目均基于Uni

weixin_31528001的博客 716

uva 1572 拓扑排序

主要利用了拓扑排序的算法,connect函数的作用是如果正方块的两条边都不为00,且设一条边为Char1+,一条边为Char2-,则Char1+可通过这个正方块和Char2+相连,即有向图上的两点Char1+和Char2+之间有边,然后拓扑排序,如果图内有环,就说明可以组成无限大的结构。 #include &lt;iostream&gt; #include &lt;cstring&gt; #i...

GaoJieVery6 665

基于PointNet++网络的点云数据分类仿真分析

局部特征学习模块用于学习点云中每个点的局部特征表示,而全局特征学习模块用于学习整个点云的全局特征表示。点云数据分类是指将点云数据分为不同的类别或标签。PointNet++是一种用于点云数据处理的深度学习网络,它能够有效地学习点云数据的特征表示并实现高精度的分类。在本文中,我们将使用MATLAB实现基于PointNet++网络的点云数据分类仿真分析,并提供相应的源代码。然后,我们使用splitEachLabel函数将数据划分为训练集和测试集,其中80%的数据用于训练,20%的数据用于测试。

HackDashX的博客 210

安卓开发工程师在车载项目中的角色与技术实践

本文全面探讨了安卓开发工程师在车载项目中的关键角色,重点分析了技术栈(Kotlin/Java/Gradle)、岗位职责和任职要求。文章详细解读了车载安卓开发的核心技能,包括架构设计、性能优化和缺陷修复,并提供了20个针对性面试问题及答案。特别强调了车载环境的特殊需求,如硬件集成、安全认证和实时性要求。通过技术深度与实践案例的结合,为开发者和企业提供了从需求分析到系统优化的完整指导,旨在提升车载安卓开发的专业水平和招聘效率。

郑伟强dev的专栏 131

UVA 1572 Self-Assembly(拓扑排序)

1 // 把一个图的所有结点排序,使得每一条有向边(u,v)对应的u都排在v的前面。 2 // 在图论中,这个问题称为拓扑排序。(toposort) 3 // 不难发现:如果图中存在有向环,则不存在拓扑排序,反之则存在。 4 // 不包含有向环的有向图称为有向无环图(DAG)。 5 // 可以借助DFS完成拓扑排序:在访问完一个结点之后把它加到当前拓扑序的首部。 ...

151

基于QT与STM32的电力参数采集系统(华为云IOT)(211)

本项目构建一款集多功能于一体的电力参数采集系统,该系统以高性能、低功耗的STM32F103RCT6微控制器为核心,集成多种传感器与通信模块,实现对电力设施如电压、电流、功率、电能及环境温度等关键参数的实时精确采集,并通过GPS模块获取设备地理位置信息,满足了电力设备状态全面监控的需求。

2901

UVA1572 Self_Assembly-拓扑排序

先上一发淳朴的拓扑排序模板 大家如果想检验自己写的拓扑排序模板对不对,可以交一下哈理工oj1631,是一道纯拓扑排序。 这个讲拓扑排序的文章也很好。↓↓↓ http://blog.youkuaiyun.com/dm_vincent/article/details/7714519#include<cstdio> #include<queue> #include<iostream> #include<vect

Hey_YoungBlood 375

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

UVA 1572 Self-Assembly(拓扑排序判断有向环)

题目连接:http://vjudge.net/problem/UVA-1572 题意:给定n种正方形,每种正方形的数量可视为无数个,正方形的每条边都有标号,正方形可进行旋转和翻转,对于两条边A+可与A-连接在一起,B+可与B-连接在一起,以此类推,00不能与任何边连接。问是否存在一种连接方式可使这些正方形无限拼接下去。 分析:我完全是看了题解才想明白的,自己写真的是一点想法都没有。题意可理解为

smwqd_yehua_cx的博客 363

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

UVA 1572 Self-Assembly 拓扑排序

这道题就是用拓扑排序来判断是否有有向环即可。当我看了学长的代码,才发现自己写得又丑又长,为了大家的眼睛,我就贴一下TT学长的代码,其中一些小技巧大家可以学习一下0.0 // // Created by TaoSama on 2015-07-24 // Copyright (c) 2015 TaoSama. All rights reserved. // //#pragma comme

Songer_Wa的专栏 666

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

UVa 1572 Self-Assembly (拓扑排序)

题目链接: https://cn.vjudge.net/problem/UVA-1572 Automatic Chemical Manufacturing is experimenting with a process called self-assembly. In this process, molecules with natural affinity for each oth...

aisebu7819的博客 171

uva1572 Self-Assembly 拓扑排序 提炼有向图模型

1. 拓扑排序 2. 利用2n,2n+1存储a+,a-这类型增加的状态。 3. 有向图模型的提炼。 4. 2n+1^1 = 2n的转换

YueLing's Blog 536

拓扑排序--uva1572 Self-Assembly

给定n个正方形,用4 * 2个字符描述4条边。00表示不与任何边相容,A-只能和A+相容(字母相同符号相反),求给定的正方形是否能连接成无限大。 由于可以翻转,限定向右或向下延伸。(不一定为直线,可能形成折线) 一个正方形能与谁相容,取决于4条边。 将边当作点,如果A,B两个正方形能向右延伸,则A的右边与B的左边相容。则以A的左边或上边为起点,B的左边为终点,2点间应该有路径。 需要无限延

unintended 345

Uva1572 Self-Assembly 【建立图论模型拓扑排序】【例题6-19】

构建图论模型,拓扑排序解决。看破题,思路最重要!

GuoZLH的博客 817

例题6 - 19 uva1572 Self-Assembly 拓扑排序

原题连接:https://vjudge.net/problem/UVA-1572 题意:给你N个正方形,看是否拼接成一个无限拓展的图形,每个正方形的拼接规则就是相同字母且符号相反(00不能拼接) 思路:把给的正方形的边抽象成点,四个点重新组合成6条边,如果这些边构成的有向图成环,那么就是无限大平面。另(2n + 1) ^ 1 =  2n,  (2n) ^ 1 = 2 n + 1。      

Dave_lzw的博客 650

UVa 1572 Self-Assembly 自组合 图论 拓扑排序 toposort

对于每个正方形,依次遍历每条边,将正方形的边的编号看成图上的结点编号建立有向图,建立图的时候需要注意:例如有一个正方形编号为:A-B-C-D-我们需要将A-与B+,C+,D+进行连接,B-与A+,C+,D+进行连接,C-与A+,B+,D+进行连接,D-与A+,B+,C+进行连接,这样的话,如果在整张图建立完成后存在环那么就可以进行无限次的拼接,否则则不能进行无限次的拼接。给定一些边长相等正方形,每种正方形的边有编号(A-,A+,B-,B+,…

qq_45523675的博客 155

UVa 1572 - Self-Assembly(拓扑排序)

输入n种边上带标号的正方形,特定标号可以相连,判断能否铺成无限大的结构。 书上的例题,给出了思路。将标号转化为点,将正方形看作边,得到有向图,对其进行拓扑排序,判断是否形成环即可。

wcr1996的专栏 2314

UVA-1572 Self-Assembly(拓扑排序判断有向环)

题目: 给出几种正方形,每种正方形有无穷多个。在连接的时候正方形可以旋转、翻转。 正方形的每条边上都有一个大写英文字母加‘+’或‘-’、00,当字母相同符号不同时,这两条边可以相连接,00不能和任何边相连。 判断给出的正方形如果能无限连接下去就输出unbounded、不能就输出bounded。 思路: 这个题读完之后,一点思路都没有,看完紫书上的分析知道是用拓扑排序来判断有向环,但具体的...

weixin_30477797的博客 116

UVA - 1572 Self-Assembly(图论模型+拓扑排序)

题意:判断利用给出的正方形是否能拼接出无限延伸的结构。 分析:正方形上的字母看做点,正方形看做有向边。 例如: 若上下两个正方形能拼接,需要B+~C+是个有向边。 对输入的处理是:把A+,A-分别映射成2n+1,2n,利用(2n)^1 = 2n+1 , (2n+1)^1 = 2n 的性质处理有向边。 若存在有向环则unbounded,即不存在拓扑排序 #pragma ...

Cherrychan2014的博客 240

Problem UVA1572-Self-Assembly(拓扑排序)

ProblemUVA1572-Self-Assembly Accept: 196 Submit:1152 Time Limit: 3000 mSec Problem Description Automatic Chemical Manufacturing is experimenting with a process called self-assembly. In ...

weixin_30767921的博客 163
上一篇: Undraw the Trees UVA - 10562 DFS实现
下一篇: Ideal Path UVA - 1599 邻接表 双向BFS
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值