2054. 骑马修栅栏

2024-08-24 13:52
文章标签 2054 栅栏 骑马

本文主要是介绍2054. 骑马修栅栏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

代码

#include<bits/stdc++.h>
using namespace std;
int mp[505][505];
queue<int> ans;
int du[505];
int n=0,m,u,v;void dfs(int i)
{for(int j=1;j<=n;j++){if(mp[i][j]>=1){mp[i][j]--;mp[j][i]--;dfs(j);}}ans.push(i);
}
int main()
{cin>>m;for(int i=1;i<=m;i++){cin>>u>>v;mp[u][v]++;mp[v][u]++;du[u]++;du[v]++;n=max(n,max(u,v)); }int start=1;for(int i=1;i<=n;i++){if(du[i]%2==1){start=i;break; }}dfs(start);int len=ans.size();int ansans[len];int cnt=0;while(!ans.empty()){ansans[cnt++]=ans.front();ans.pop();}for(int i=len-1;i>=0;i--){cout<<ansans[i]<<endl;}return 0;
}

记得点赞+关注+收藏!!!谢谢!!! 

 

这篇关于2054. 骑马修栅栏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1102668

相关文章

Vulkan教程 - 12 栅栏和信号量

这一章所有东西都会整合到一起了。我们将会写一个drawFrame方法,它会被主循环调用,将三角形呈现到屏幕上。创建drawFrame方法在mainLoop的while内处理事件后调用: void mainLoop() {while (!glfwWindowShouldClose(window)) {glfwPollEvents();drawFrame();}}

栅栏Java示例——CyclicBarrier

一个Barrier的小例子,栅栏数和线程池数量可以随便调整,模拟因栅栏一直等待导致的死锁,当线程数小于栅栏数时会出现死锁情况。 import java.util.Random;import java.util.concurrent.*;public class BarrierDemo {public static void main(String[] args) {ExecutorServic

跟我学C++中级篇——内存屏障内存栅栏和编译器屏障以及相关

一、低级同步常见的技术术语 在一些操作系统或者计算机接口等比较原理化的书籍中,经常提到一些低级的同步术语,或者说一些同步的抽象的说法。最典型的就是内存内存屏障。不同的平台和语言有不同的叫法,有的叫内存栅栏或者屏障指令。它的主要作用就是多线程环境下内存访问的顺序性和可见性即实现在某点的中行化操作。 内存屏障有两大类,一般是内存屏障(或者叫CPU屏障)和编译器屏障。 1、CPU内存屏障 这种屏障一般

Java并发包之闭锁/栅栏/信号量

一、Java多线程总结: 描述线程的类:Runable和Thread都属于java.lang包。内置锁synchronized属于jvm关键字,内置条件队列操作接口Object.wait()/notify()/notifyAll()属于java.lang包。提供内存可见性和防止指令重排的volatile属于jvm关键字。而java.util.concurrent包(J.U.C)中包含的是java

java并发编程之CyclicBarrier(循环栅栏)

package com.zhong;import java.util.concurrent.CyclicBarrier;/*** Cyclic意思是循环,Barrier意思是屏障,那么CyclicBarrier翻译过来就是循环栅栏。* 它是一个同步辅助类,能让一组线程互相等待,* 直到这一组线程都到了一个公共屏障点,各线程才能继续向下执行。因为该屏障能够在释放等待线程后继续重用,所以叫循环屏障。*

动物园的栅栏

【问题描述】 小芳和她的朋友们沿着高度为 h 的动物园栅栏一起行走,他们不想惊扰到动物们,因此他们每个人的高度都不能超过 h ,如果他们中有人身高超过 h ,则他必须弯下腰来行走。 如果将正常行走的人的宽度视为1的话,那么当他弯下腰的时候宽度会变为2。小芳的朋友们想一边走一边聊天,他们希望尽量走成一排,但是道路宽度是有限的,因此可能要分成几排来行走。 给出朋友们的人数 n(包括小芳)、栅栏的

内存栅栏 内存模型

公众号:内存栅栏 先抛出代码: atomic<int> a{0};atomic<int> b{0};int set(){    a.store(1,memory_order_relax);    b.store(2,memory_order_relax);} int observe(){cout<<"a="a<<" b="<<b;}int main(){thead t1(set);thread

【并发编程】AQSSemaphore(信号量) CountDownLatch (倒计时器) CyclicBarrier(循环栅栏) ThreadLocal

目录 AQS相关 Semaphore(信号量) CountDownLatch (倒计时器) CyclicBarrier(循环栅栏) ThreadLocal JMM的理解 Thread 的start() 和 run() 方法区别? Thread类中的yield方法? 如何停止一个线程? synchronized和ReentrantLock异同? Synchronized

【C语言】对称密码——栅栏的加密和解密

栅栏密码的原理: 栅栏层数n ①把将要传递的信息中的字母交替排成上下n行。 ②再将下面每一行字母排依次在上面一行的后边,从而形成一段密码。 ③例如:栅栏层数为2 明文:THE LONGEST DAY MUST HAVE AN END 加密: 1、把将要传递的信息中的字母交替排成上下两行。 T E O G S D Y U T A E N N H L N E T A M S H V