ACM題目————一筆畫問題

描述

zyc從小就比較喜歡玩一些小游戲,其中就包括畫一筆畫,他想請你幫他寫一個程序,判斷一個圖是否能夠用一筆畫下來。

規定,所有的邊都只能畫一次,不能重復畫。

輸入
第一行只有一個正整數N(N<=10)表示測試數據的組數。
每組測試數據的第一行有兩個正整數P,Q(P<=1000,Q<=2000),分別表示這個畫中有多少個頂點和多少條連線。(點的編號從1到P)
隨后的Q行,每行有兩個正整數A,B(0<A,B<P),表示編號為A和B的兩點之間有連線。
輸出
如果存在符合條件的連線,則輸出"Yes",
如果不存在符合條件的連線,輸出"No"。
樣例輸入
2
4 3
1 2
1 3
1 4
4 5
1 2
2 3
1 3
1 4
3 4
樣例輸出
No
Yes

?

?可以用并查集做,也可以直接建圖做。

?

因為正在加班加點的學習數據結構,于是先建圖做了一次。

參考了http://www.cnblogs.com/dongsheng/archive/2012/06/04/2534489.html

建圖:

//Asimple#include <stdio.h>
#include <iostream>
#include <algorithm>using namespace std;const int maxn = 1005;
int n, T, num, cnt, point, line, x, y;
int G[maxn][maxn];
int vis[maxn];//標記數組,標記是否走過
int p[maxn];//每個節點的度//圖的DFS
//歐拉圖:節點度數全部為偶數
//半歐拉圖:有且只有兩個度數為奇數的節點
//這兩種圖都可以一筆畫出。void DFS(int i)
{int v;vis[i] = 1 ;for(v=0; v<point; v++)if( v!=i && G[i][v] && !vis[v])DFS(v);
}int main()
{cin >> T ;while( T -- ){cnt = 0 ;bool flag = true ;cin >> point >> line ;memset(p,0,sizeof(p));memset(vis,0,sizeof(vis));memset(G,0,sizeof(G));for(int i=0; i<line; i++){cin >> x >> y ;G[x-1][y-1] = G[y-1][x-1] = 1 ;//建圖++ p[x-1] ;++ p[y-1] ;//統計 各節點的度}DFS(0);//判斷是否連通for(int i=0; i<point; i++){G[i][i] = 1 ;if( vis[i]==0 ) flag = false ;if( p[i]&1 ) cnt ++ ;}if( flag )//是連通圖{if( cnt==0 || cnt==2 ) cout << "Yes" << endl ;else cout << "No" << endl ;}else cout << "No" << endl ;}return 0;
}

?并查集:

#include <cstdio>
#include <iostream>
#include <cstring>using namespace std;int father[1005], deg[1005];int find(int k)
{if(k == father[k])return k;elsereturn father[k] = find(father[k]);
}int main()
{int T, p, q, a, b;scanf("%d", &T);while(T--){scanf("%d%d", &p, &q);for(int i = 1; i <= p; ++i){father[i] = i;deg[i] = 0;}while(q--){scanf("%d%d", &a, &b);++deg[a];++deg[b];int fa = find(a);int fb = find(b);if(fa != fb)father[fa] = fb;}int cnt1, cnt2;cnt1 = cnt2 = 0;for(int i = 1; i <= p; ++i){if(father[i] == i){++cnt1;if(cnt1 > 1)break;}if(deg[i] & 1)++cnt2;}if(cnt1 > 1)printf("No\n");else{if(cnt2 == 0 || cnt2 == 2)printf("Yes\n");elseprintf("No\n");}}return 0;
}

?

轉載于:https://www.cnblogs.com/Asimple/p/5532803.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255207.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255207.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255207.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HALCON示例程序color_fuses_lut_trans.hdev通過顏色對保險絲進行分類

HALCON示例程序color_fuses_lut_trans.hdev通過顏色對保險絲進行分類 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_off ()定義變量并初始化&#xff0c;這些變量都是下邊識別要用到的 FuseColors : [‘Orange’,‘Red’,‘Blue’,‘Yellow’,…

上海電驅動

從行業前景上來說還可以&#xff0c;但這個公司不行&#xff0c;公司各種坑&#xff0c;從上到下各種腐敗&#xff0c;打醬油的人比較多&#xff0c;在薪資方面除了技術部稍好一點&#xff0c;其他部門我建議你最好別去了&#xff0c;整體上這個公司員工沒幸福感&#xff01;只…

1056. 組合數的和(15)

1056. 組合數的和(15) 時間限制400 ms內存限制65536 kB乙級練習題解目錄給定N個非0的個位數字&#xff0c;用其中任意2個數字都可以組合成1個2位的數字。要求所有可能組合出來的2位數字的和。例如給定2、5、8&#xff0c;則可以組合出&#xff1a;25、28、52、58、82、85&#…

3、時間和隨機數

一、時間 1.1 使用Calendar/[?kl?nd?]/類獲取時間 1.1.1 常用方法 (1)public static Calendar getInstance&#xff08;&#xff09;: 使用默認時區和語言環境獲取一個基于當前時間的Calendar對象。 (2)public int get(int field) 返回給定日歷字段表示的日歷部分的數字…

哥尼斯堡的“七橋問題” (歐拉回路,并查集)

哥尼斯堡的“七橋問題” (25分) 哥尼斯堡是位于普累格河上的一座城市&#xff0c;它包含兩個島嶼及連接它們的七座橋&#xff0c;如下圖所示。 可否走過這樣的七座橋&#xff0c;而且每橋只走過一次&#xff1f;瑞士數學家歐拉(Leonhard Euler&#xff0c;1707—1783)最終解決…

HALCON示例程序color_pieces.hdev通過MLP訓練器對彩色棋子進行分類識別

HALCON示例程序color_pieces.hdev通過MLP訓練器對彩色棋子進行分類識別&#xff1b;分別在彩色圖像下與灰度圖像下進行&#xff0c;從而產生對比。 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_off () dev_close_window () dev_open_window (…

無人駕駛汽車之爭本田為何未戰先敗

摘要 : 本田汽車的研發部門對于汽車雖然理解深刻&#xff0c;但從整體而言&#xff0c;本田的造車理念還停留在上個時代&#xff0c;在未來的無人駕駛競爭中&#xff0c;本田已經有未戰先啊敗的苗頭。 百度百家The BIG Talk硅谷站連續5小時的高密度頭腦風暴&#xff0c;果然讓人…

理解git結構與簡單操作(四)合并分支的方法與策略

接上節&#xff0c;此時的dev分支與master分支的進度就不一樣了&#xff0c;所以需要將dev分支與master分支同步。這里需要的就是合并分支的操作&#xff0c;大家應該都知道用git merge或者git rebase。 git merge merge&#xff0c;即「合并」。 fast-forward 當出現我們上面圖…

HALCON示例程序color_segmentation_pizza.hdev披薩肉餅識別。

HALCON示例程序color_segmentation_pizza.hdev披薩肉餅識別。 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_off () dev_close_window () read_image (Image, ‘color/pizza_01’) get_image_size (Image, Width, Height) dev_open_window (0,…

攝像機標定

利用攝像機所拍攝到的圖像來還原空間中的物體。在這里&#xff0c;不妨假設攝像機所拍攝到的圖像與三維空間中的物體之間存在以下一種簡單的線性關系&#xff1a;[像]M[物],這里&#xff0c;矩陣M可以看成是攝像機成像的幾何模型。 M中的參數就是攝像機參數。通常&#xff0c;這…

Linux下Tomcat重新啟動

在Linux系統下&#xff0c;重啟Tomcat使用命令操作的&#xff01; 首先&#xff0c;進入Tomcat下的bin目錄 cd /usr/local/tomcat/bin 使用Tomcat關閉命令 ./shutdown.sh 查看Tomcat是否以關閉 ps -ef|grep java 如果顯示以下相似信息&#xff0c;說明Tomcat還沒有關閉 root …

大數據和人工智能的關系是什么?

何為大數據&#xff1f;何為人工智能&#xff1f; 大數據&#xff0c;百度百科上是這么定義的&#xff0c;指無法在一定時間范圍內用常規軟件工具進行捕捉、管理和處理的數據集合&#xff0c;是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率…

【2017-03-09】SQL Server 數據庫基礎、四種約束

一、數據庫和內存的區別 數據庫&#xff1a;一些存儲在硬盤上的數據文件 內存&#xff1a;計算機臨時存儲的一些數據 二、常用數據庫 .Net - SQL Server PHP - MySql Java - Oreacl 三、SQL Server使用方法 1、新建數據庫 右鍵點擊“數據庫”&#xff0c;點擊“新建數據庫”。在…

HALCON示例程序color_simple.hdev在HSV空間篩選黃色線

HALCON示例程序color_simple.hdev在HSV空間篩選黃色線 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_close_window () dev_open_window (0, 0, 640, 480, ‘black’, WindowHandle) for i : 1 to 2 by 1 read_image (Image, ‘cable’ i) 將彩色圖片…

張正友標定法 【計算機視覺學習筆記--雙目視覺幾何框架系列】

三、致敬“張正友標定” 此處“張正友標定”又稱“張氏標定”&#xff0c;是指張正友教授于1998年提出的單平面棋盤格的攝像機標定方法。張氏標定法已經作為工具箱或封裝好的函數被廣泛應用。張氏標定的原文為“A Flexible New Technique forCamera Calibration”。此文中所提到…

SQL基礎三

關系數據庫操作語言 對關系數據庫進行操作標準語言是所謂的結構化查詢語言SQL&#xff0c;和其他程序語言不一樣的是&#xff0c;它是非過程語言。 SQL采用自然英語的結構&#xff0c;比較容易上手&#xff0c;目前SQL已經有了ANSI標準&#xff0c;哥哥數據庫廠商除了SQL語法外…

HTTP狀態碼詳解

HTTP狀態碼介紹 createTime--2016年9月24日09:41:48 參考鏈接&#xff1a;http://www.w3school.com.cn/tags/html_ref_httpmessages.asp概括&#xff1a;   1字開頭&#xff1a;消息。信息性狀態碼&#xff0c;代表請求已被接受&#xff0c;需要繼續處理。&#xff08;接受的…

HALCON示例程序connection.hdev分割連通域

HALCON示例程序connection.hdev分割連通域 示例程序源碼&#xff08;加注釋&#xff09; read_image (Image, ‘mreut’) 二值化 threshold (Image, Region, 190, 255)分割連通域 connection (Region, ConnectedRegions)使用面積進行篩選 select_shape (ConnectedRegions, S…

一張圖學習常見this的指向

在寫JS代碼時&#xff0c;this的出場頻率頗高&#xff0c;擔負了傳遞對象&#xff0c;作用域等等功能&#xff0c;堪稱全能超人。 但是this復雜多變&#xff0c;初學的時候想弄清楚并不簡單&#xff0c;繞著繞著就迷路了。“我是誰&#xff1f;我從哪來&#xff1f;我要到哪去&…

HALCON示例程序count_fish_sticks.hdev魚棒完整性檢測

HALCON示例程序count_fish_sticks.hdev魚棒完整性檢測 示例程序源碼&#xff08;加注釋&#xff09; 關于顯示類函數解釋 dev_update_off () dev_close_window () read_image (Image, ‘food/fish_stick_package_01’) get_image_size (Image, Width, Height) dev_open_windo…