当前位置:网站首页>Study diary: February 13, 2022
Study diary: February 13, 2022
2022-07-06 00:42:00 【Chen Jia on the weekend】
Today's first question

If we have such a set of data
9 11
7 8
8 9
9 7
4 1
7 3
1 2
2 5
5 6
6 2
1 3
3 4
For better comparison , We also draw the corresponding diagram

It's almost like this
From the picture, we can directly see ,1-2 and 3-7
Other roads that do not meet the conditions basically have a common feature , It can be connected with other roads to form a closed loop
So we can eliminate the routes on all closed rings , The remaining route is the final result
In order to meet the output required by the topic , We must sort .
1 2
1 3
1 4
2 5
2 6
3 4
3 7
5 6
7 8
7 9
8 9
Suppose we start from the city 1 Start walking , The way to go is the depth first algorithm
from 1 Go down 1-2 Go to the 2
Judge the city 2 Whether it's the city you've passed , No, just keep going
from 2 Go down 2-5 Go to the 5
Judge the city 5 Whether it's the city you've passed , No , Keep going down
from 5 Go down 5-6, Go to the 6
Judge the city 6 Whether it's the city you've passed , No , Keep going down
from 6 Go down 6-2, Go to the 2
Judge the city 2 Whether it's the city you've passed , yes . It shows that a ring is formed in front , Look ahead , The starting point is 2 The route of the , And mark all routes along the way
So it includes itself , And along the way 2-6,5-6,2-5 All marked
So from 1-2 All the above routes have been traversed
And then from 1-3 The route starts
Judge the city 3, Keep going down -7
Judge the city 7, Keep going down -8
Judge the city 8, Keep going down -9
Judge the city 9, Keep going down -7
Judge the city 7, It's past , Mark the route along the way 7-9,8-9,7-8
We continue from the city 3 go , Go down -4
Judge the city 4, Keep going down -1
Judge the city 1, It's past , Mark the route along the way 1-3,3-4,1-4
All routes have been judged , The final output is an unmarked route
1-2 and 3-7
Among them, several tags are needed
A mark of the route taken ,
A sign of the city passed
A route marked as a ring
The final code is as follows
#include<iostream>
using namespace std;
struct Data
{
int a;
int b;
}data[5003];
int don[5003]={0};// Mark the route taken
int result[5003]={0};// Record the final result
int steep[200];// Record the cities you have passed
int n,m;
int run(int start,int end)
{
int mid=(start+end)/2;
int a=start;
int b=mid+1;
Data shadow[5003];
int len=0;
while(a<=mid&&b<=end)
{
if(data[a].a<data[b].a)
{
shadow[len++]=data[a++];
}
else
if(data[a].a==data[b].a)
{
if(data[a].b<data[b].b)
shadow[len++]=data[a++];
else
shadow[len++]=data[b++];
}
else
shadow[len++]=data[b++];
}
while(a<=mid)
shadow[len++]=data[a++];
while(b<=end)
shadow[len++]=data[b++];
for(int i=0;i<len;i++)
data[start+i]=shadow[i];
}
int sorting(int start,int end)
{
if(start>=end)
return 0;
int mid=(start+end)/2;
sorting(start,mid);
sorting(mid+1,end);
run(start,end);
}
// Mark the route along the way
int clear(int present,int goal,int flag)
{
result[present]=1;
if(flag==0)
if(data[present].a==goal||data[present].b==goal)
return 0;
present=don[present];
clear(present,goal,0);
}
int finding(int present,int cit)
{
if(steep[cit])
{
clear(present,cit,1);
return 0;
}
for(int i=1;i<=m;i++)
{
if(don[i]==0)
{
if(data[i].a==cit)
{
don[i]=present;// Mark the route taken , Record the last step
steep[data[i].a]=1;// Mark the city you have passed
finding(i,data[i].b);// Go to the next city
}
if(data[i].b==cit)
{
don[i]=present;// Mark the route taken , Record the last step
steep[data[i].b]=1;// Mark the city you have passed
finding(i,data[i].a);// Go to the next city
}
}
}
}
int main()
{
cin>>n>>m;
int a,b;
for(int i=1;i<=m;i++)
{
cin>>a>>b;
// When deposited a Must be less than b
if(a>b)
data[i].a=b,data[i].b=a;
else
data[i].a=a,data[i].b=b;
}
sorting(1,m);// Sort
finding(1,data[1].a);
for(int i=1;i<=m;i++)
{
if(result[i]==0)
cout<<data[i].a<<' '<<data[i].b<<endl;
}
}To sum up, this problem is called joint search , A set of depth first algorithms .
Mainly depth first algorithm
Execute special orders according to the special conditions explored , To arrive at the final result
边栏推荐
- Illustrated network: the principle behind TCP three-time handshake, why can't two-time handshake?
- Atcoder beginer contest 254 [VP record]
- notepad++正則錶達式替換字符串
- 建立时间和保持时间的模型分析
- MySQL storage engine
- Spark SQL UDF function
- STM32 configuration after chip replacement and possible errors
- 【文件IO的简单实现】
- Starting from 1.5, build a micro Service Framework - call chain tracking traceid
- The detailed page returns to the list and retains the original position of the scroll bar
猜你喜欢

Go learning - dependency injection

Set data real-time update during MDK debug

Start from the bottom structure and learn the introduction of fpga---fifo IP core and its key parameters

Folding and sinking sand -- weekly record of ETF
![[groovy] compile time meta programming (AST syntax tree conversion with annotations | define annotations and use groovyasttransformationclass to indicate ast conversion interface | ast conversion inte](/img/61/73becfc3b46669d31b0cf334aa54f2.jpg)
[groovy] compile time meta programming (AST syntax tree conversion with annotations | define annotations and use groovyasttransformationclass to indicate ast conversion interface | ast conversion inte

XML配置文件

如何利用Flutter框架开发运行小程序

从 1.5 开始搭建一个微服务框架——调用链追踪 traceId

Intensive learning weekly, issue 52: depth cuprl, distspectrl & double deep q-network

Basic introduction and source code analysis of webrtc threads
随机推荐
小程序技术优势与产业互联网相结合的分析
OS i/o devices and device controllers
NLP generation model 2017: Why are those in transformer
【EI会议分享】2022年第三届智能制造与自动化前沿国际会议(CFIMA 2022)
Spark SQL空值Null,NaN判断和处理
几百行代码实现一个 JSON 解析器
[EI conference sharing] the Third International Conference on intelligent manufacturing and automation frontier in 2022 (cfima 2022)
Yolov5, pychar, Anaconda environment installation
[groovy] compile time metaprogramming (compile time method interception | find the method to be intercepted in the myasttransformation visit method)
[Chongqing Guangdong education] reference materials for Zhengzhou Vocational College of finance, taxation and finance to play around the E-era
Extracting profile data from profile measurement
Leetcode 44 Wildcard matching (2022.02.13)
Arduino hexapod robot
多线程与高并发(8)—— 从CountDownLatch总结AQS共享锁(三周年打卡)
Spark SQL null value, Nan judgment and processing
Search (DFS and BFS)
Date类中日期转成指定字符串出现的问题及解决方法
notepad++正則錶達式替換字符串
OpenCV经典100题
数据分析思维分析方法和业务知识——分析方法(三)