poj 2513 Colored Sticks

// 判斷圖是否聯通 在連通的基礎上還要判斷是否存在歐拉通路
// 判斷連通就并查集了 判斷是否存在歐拉通路: 點度數為數的點 ==1 >=3就是不存在的 其它是存在的
// 我開始用 map 判重 然后就悲劇了一上午 好久沒寫 Trie樹了 都忘了、

#include <iostream> #include <string> #include <map> #include <algorithm> #include <queue> #include <math.h> #include <stdio.h> #include <string.h> #include <vector> using namespace std; #define MOD 1000000007 #define maxn 500100 char s1[20],s2[20]; int d[maxn];//,out[maxn]; int f[maxn],num[maxn]; int Fin(int x){if(x!=f[x])f[x]=Fin(f[x]);return f[x]; } int sz; int ch[maxn][26]; int val[maxn]; int idx(char c){ return c-'a';} void insert(char *s,int v){int u=0;//,len=strlen(s);int c;for(int i=0;s[i]!='\0';i++){c=idx(s[i]);if(!ch[u][c]){memset(ch[sz],0,sizeof(ch[sz]));val[sz]=0;ch[u][c]=sz++;}u=ch[u][c];}// printf("%d-",v);val[u]=v; } int search(char *s){int u=0;//,len=strlen(s);int c;for(int i=0;s[i]!='\0';i++){c=idx(s[i]);// printf("c=%c",s[i]);if(!ch[u][c])return 0;u=ch[u][c];}return val[u]; } int main(){int i;int n=0;int u,v;for(i=1;i<=maxn;i++)f[i]=i,num[i]=1,d[i]=0;sz=1;memset(ch[0],0,sizeof(ch[0]));while(scanf("%s %s",s1,s2)!=EOF){if(u=search(s1)){d[u]++;}else{insert(s1,++n);u=n;d[u]++;}if(v=search(s2)){d[v]++;}else{insert(s2,++n);v=n;d[v]++;}//printf("%d %d\n",u,v);u=Fin(u);v=Fin(v);if(u!=v){if(num[u]>num[v]){f[v]=u;num[u]+=num[v];}else{f[u]=v;num[v]+=num[u];}}}int bf;bf=0;for(i=1;i<=n;i++)if(d[i]%2) bf++;if(bf==1||bf>2){ printf("Impossible\n");return 0;}bf=Fin(1);for(i=2;i<=n;i++)if(bf!=Fin(i)){printf("Impossible\n");return 0;}printf("Possible\n");return 0; }

?

轉載于:https://www.cnblogs.com/372465774y/p/3200134.html

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

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

相關文章

strictmath_Java StrictMath ulp()方法與示例

strictmathStrictMath類ulp()方法 (StrictMath Class ulp() method) Syntax: 句法&#xff1a; public static double ulp(double do);public static float ulp(float fl);ulp() Method is available in java.lang package. ulp()方法在java.lang包中可用。 ulp(double do) Me…

八、非規則組織分析及其數學模型——平紋變化組織

非規則組織顧名思義&#xff0c;無法通過一個數學模型來描述所有的非規則組織、對于每一個具體的非規則組織而言&#xff0c;其也有一定的規律性可循&#xff0c;即可通過分析每一個具體的非規則組織的組織點運動規律來建立相應的數學模型。 一、平紋變化組織 平紋變化組織即…

怎么看xp計算機是32位還是64位,教你查看XP系統的不同32位還是64位詳細的步驟

電腦中使用的不同的版本如果安裝一些大型的游戲的時候都是有技巧來實現的&#xff0c;那在XP電腦中想要知道的對于不同的32位還是64位的版本的文件操作的時候新手是怎么知道自己安裝的軟件的版本呢&#xff0c;今天小編就來跟大家分享一下教你查看XP系統的不同32位還是64位詳細…

微軟面試100題2010年版全部答案集錦(含下載地址)

微軟等數據結構算法面試100題全部答案集錦作者&#xff1a;July、阿財。時間&#xff1a;二零一一年十月十三日。引言無私分享造就開源的輝煌。今是二零一一年十月十三日&#xff0c;明日14日即是本人剛好開博一周年。在一周年之際&#xff0c;特此分享出微軟面試全部100題答案…

get post

1. get是從服務器上獲取數據&#xff0c;post是向服務器傳送數據。2. get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中&#xff0c;值和表單內各個字段一一對應&#xff0c;在URL中可以看到。post是通過HTTP post機制&#xff0c;將表單內各個字段與其內容放置在HTML …

LeetCode 27.移除元素 思考分析

題目 給你一個數組 nums 和一個值 val&#xff0c;你需要 原地 移除所有數值等于 val 的元素&#xff0c;并返回移除后數組的新長度。 不要使用額外的數組空間&#xff0c;你必須僅使用 O(1) 額外空間并 原地 修改輸入數組。 元素的順序可以改變。你不需要考慮數組中超出新長…

九、非規則組織分析及其數學模型——曲線斜紋組織

曲線斜紋組織圖&#xff1a; 因為其形狀酷似拋物線&#xff0c;拋物線又是曲線中的一種&#xff0c;故稱為曲線斜紋組織。 特點&#xff1a;1&#xff0c;每一根經紗上的組織點運動規律不變 2&#xff0c;飛數是變化的&#xff0c;故也稱為變飛數組織 飛數滿足的兩個條件&…

ulp通信_Java Math類ulp()方法及示例

ulp通信數學類ulp()方法 (Math class ulp() method) ulp() method is available in java.lang package. ulp()方法在java.lang包中可用。 ulp() method is used to return the size of a ulp of the given argument, where, a ulp of the given value is the positive distance…

計算機公式column,函數公式的左膀右臂:ROW、COLUMN函數知多少

一個公式生成乘法口訣表演示的公式中用到了兩個函數&#xff1a;ROW和COLUMN&#xff0c;這兩個函數的用途非常廣泛&#xff0c;可以配合其他函數實現很多功能(尤其是和VLOOKUP函數)&#xff0c;另外和這兩個函數相似的還有ROWS和COLUMNS函數&#xff0c;也順便介紹下。函數說明…

apache2.4.x三種MPM介紹

三種MPM介紹 Apache 2.X 支持插入式并行處理模塊&#xff0c;稱為多路處理模塊&#xff08;MPM&#xff09;。在編譯apache時必須選擇也只能選擇一個MPM&#xff0c;對類UNIX系統&#xff0c;…

LeetCode 15. 三數之和 思考分析(雙指針解)

目錄初解&#xff1a;未考慮去重二解&#xff1a;未考慮去重位置三解&#xff1a;AC題目&#xff1a;給你一個包含 n 個整數的數組 nums&#xff0c;判斷 nums 中是否存在三個元素 a&#xff0c;b&#xff0c;c &#xff0c;使得 a b c 0 &#xff1f;請你找出所有滿足條件且…

十、非規則組織分析及其數學模型——鋸齒形斜紋組織

鋸齒形斜紋組織圖&#xff1a; 分析&#xff1a; 前半齒長度k&#xff0c;表示山谷到山峰的列數&#xff0c;也就是鋸齒的寬度&#xff1b; 鋸齒飛數s&#xff0c;表示山峰到山峰的行數&#xff0c;也就是鋸齒的高度。 起始點相差4格&#xff0c;也就是第一部分整體向上移動…

Linq lamdba GroupJoin外連接示例

其實用from..Linq語句做外連接簡單而且便于理解&#xff0c;我個人使用lamdba純粹是技術上的追求吧 DataTable exceldtnew DataTable();DataTable nomacdtnew DataTable();exceldt exceldt.AsEnumerable().GroupJoin(nomacdt.AsEnumerable(), a > a.Field<String>(&q…

ajax為什么有時候不行,為什么不能用ajax調用

Ajax取值時出現未知的運行時錯誤的解決方法在Ajax里經常會通過innerHTML來改變界面&#xff0c;這個比使用DOM要簡單一些。比如&#xff1a;element.innerHTML "put code here"不過&#xff0c;在IE中&#xff0c;有時候會出現"未知的運行時錯誤(unknown runti…

Java Hashtable size()方法與示例

哈希表類size()方法 (Hashtable Class size() method) size() method is available in java.util package. size()方法在java.util包中可用。 size() method is used to return the number of key-value pairs that exist in this Hashtable. size()方法用于返回此哈希表中存在…

十一、非規則組織分析及其數學模型——蘆席斜紋組織

蘆席斜紋組織&#xff1a; 該組織是由左斜和右斜有機的結合在一塊的&#xff0c;因為其外觀酷似蘆席故稱之為蘆席斜紋組織。 織物組織效果&#xff1a; 所需參數&#xff1a; 其基層組織采用雙面加強型斜紋&#xff0c;即分子和分母是相同的組織點&#xff0c;例如2上2下(2個經…

LeetCode 18. 四數之和 思考分析(雙指針解)

目錄需要注意的幾點1、去除剪枝操作2、去重操作的細節code以及效果&#xff1a;題目給定一個包含 n 個整數的數組 nums 和一個目標值 target&#xff0c;判斷 nums 中是否存在四個元素 a&#xff0c;b&#xff0c;c 和 d &#xff0c;使得 a b c d 的值與 target 相等&#…

圖解DotNet框架之一:編譯與執行引擎(上)

眾所周知,DotNet框架是非常龐大的,光項目創建時的種類就有WPF,WCF,WF這三種最新的技術,還有以前的Web,WinForm,Service,Mobile等等. 這么復雜和龐大的框架,用文字來描述是遠遠不夠的,所以我準備寫一系列圖文并茂的文章,把我所知道的所有Net框架中的東西全部串聯起來,希望可以給…

【Kissy WaterFall】實行手動加載數據

前言&#xff1a;由于Kissy WaterFall默認是監聽滾動事件來實現數據動態加載的&#xff0c;但是有一些情況要用到手動加載數據。以下是使用Kissy WaterFall實現手動加載數據的方法。 最終實現效果&#xff1a;點擊”逛更多的商店“會動態加載數據 步驟&#xff1a; 當一頁數據加…

web服務器文檔根目錄在哪里,web服務器根目錄在哪

web服務器根目錄在哪 內容精選換一換SSL證書通過在客戶端瀏覽器和Web服務器之間建立一條SSL安全通道(訪問方式為HTTPS)&#xff0c;實現數據信息在客戶端和服務器之間的加密傳輸&#xff0c;可以防止數據信息的泄露。SSL保證了雙方傳遞信息的安全性&#xff0c;而且用戶可以通過…