ACM實訓第十七天

Is It A Tree?

問題

考試時應該做不出來,果斷放棄

樹是一種眾所周知的數據結構,它要么是空的(null, void, nothing),要么是一個或的集合滿足以下屬性的節點之間有向邊連接的節點較多。
?只有一個節點,稱為根節點,它沒有有向邊指向。
?除了根節點外,每個節點都有一條邊指向它。
?從根到每個節點有一個唯一的有向邊序列。
例如,考慮下面的插圖,其中節點由圓圈和邊表示用帶箭頭的線表示。前兩個是樹,最后一個不是。

在這個問題中,你會得到一些有向連接的節點集合的描述邊緣。對于其中的每一個,您都要確定集合是否滿足樹的定義。
輸入
輸入將由一系列描述(測試用例)和一對負整數組成。每個測試用例將由邊緣描述序列組成,每個邊緣后面跟著一對零描述將由一對整數組成;第一個整數標識該邊從哪個節點出發開始,第二個整數標識該邊所指向的節點。節點號將總是大于0。
輸出
對于每個測試用例,顯示“case k是一個樹”這行。’或者‘Case k不是樹’這條線。”,即K對應于測試用例編號(它們從1開始順序編號)。?

思路

? ? ①先判斷是不是空樹,如果是空樹(直接輸入兩個0),就直接判斷是樹;

? ? ②然后找這棵樹的根節點,如果有一個節點它的入度為0而出度不為0,那它就是根節點,如果沒有找到這樣的結點就判斷它不是樹;

? ? ③在找到一個根節點之后,用廣度優先遍歷的方法,通過根節點遍歷一遍這棵樹,如果兩次遍歷到同一個結點,那就說明這個結點的入度不是1,這就不是樹;

? ? ④廣度優先遍歷結束之后,如果所有的結點都被訪問過了,那就說明這是樹,否則就不是樹(不是連通的)。

代碼?

#include <cstdio>
#include <cstdlib>
#include <climits>
#include <memory>
#include <cstring>
#include <cmath>
#include <queue>
#include <map>
#include <iostream>
using namespace std;const int maxn = 10000;int first[maxn];
int second[maxn];
int counter;
bool visited[maxn];queue<int> q;bool isRoot(int index, int counter)
{bool retVal = false;for(int i = 0; i < counter; i++){if(second[i] == index) return false;if(first[i] == index) retVal = true;}return retVal;
}int main()
{int number = 0;int first_in, second_in;while(cin>>first_in>>second_in){if(first_in == -1 || second_in == -1) break;if(first_in == 0 && second_in == 0){printf("Case %d is a tree.\n", ++number);continue;}counter = 0;memset(visited, 0, sizeof(visited));do{if(first_in == 0 && second_in == 0) break;first[counter] = first_in;second[counter] = second_in;++counter;}while(cin>>first_in>>second_in);// find a root nodeint index;for(index = 0; index < maxn; index++){if(isRoot(index, counter)) break;}if(index == maxn){printf("Case %d is not a tree.\n", ++number);continue;}while(!q.empty()) q.pop();q.push(index);bool isTree = true;int treesize = counter;while(!q.empty()){int root = q.front();q.pop();if(visited[root]){isTree = false;break;}visited[root] = true;for(int i = 0; i < counter; i++){if(first[i] == root){q.push(second[i]);--treesize;}}}if(!isTree || treesize != 0)printf("Case %d is not a tree.\n", ++number);elseprintf("Case %d is a tree.\n", ++number);}
}

Global Raining at Bididibus

問題

好難呀

?

思路

(⊙o⊙)…這道題網絡上居然沒有找到解題方法

代碼?

在CSDN上看到唯一提到這道題的點進去發現居然是我自己


【碎碎念】

我終于知道為什么往屆同學做這套題的很少,原來是因為太難了QAQ

這套題第一道題和第三道題可以嘗試去做,第二套爭取會做


Tokitsukaze and All Zero Sequence

代碼?

#include<stdio.h>
int main(){int t;scanf("%d",&t);for(int i=0;i<t;i++){int flag=0;//注意初始化 int ch;int n;int a[101]={0};scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&ch);a[ch]++;if(a[ch]>1)//注意是大于1 flag=1;}if(a[0]>0)	printf("%d\n",n-a[0]);else {if(flag==1)printf("%d\n",n);//輸出0和1時不要弄混 if(flag==0)printf("%d\n",n+1);}}return 0;
}

Aggressive cows?

代碼

#include<iostream> 
#include<cstdio>
#include<algorithm>
#include<cstdlib>
using namespace std;
int n,c;
int a[100005];bool fun(int m){int cnt=1,cur=0,next=1;while(next<n){next++;if(a[next]-a[cur]>=m){cnt++;cur=next;}}if(cnt>=c) return true;else return false;
}
int main(){scanf("%d %d",&n,&c);for(int i=0;i<n;i++){scanf("%d",&a[i]);}int l=a[0],r=a[n-1];int ans=0;sort(a,a+n);while(l<=r){int mid=(l+r)/2;if(fun(mid)){ans=mid;l+mid+1;}else{r=mid-1;}}printf("%d",ans);return 0;
}

Brainman

代碼

#include<iostream> 
#include<stdio.h> 
using namespace std;const int n=200000;
int a[n];//一個N個數的序列int main(){int m;scanf("%d",&m);//場景的數量 for(int k=1;k<=m;k++) {int p;sccanf("%d",&p);//長度 for(int i=1;i<=p;i++)scanf("%d",&a[i]) ;//元素 int cnt=0;for(int i=1;i<=p;i++){for(int j=i+1;j<=p;j++){if(a[i]>a[j])//交換位置 cnt++;}}printf("Scenario #%d:\n%d\n\n",k,cnt);}return 0;
}

Tokitsukaze and Good 01-String (hard version)

?代碼

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
#include <cmath>using namespace std;
typedef long long ll;const int N = 2e5 + 10;
int n;
string s;int main()
{int T;cin >> T;while(T--){cin >> n >> s;int x = 0, y = 0;char last = ' ';for (int i = 0; i < s.size(); i += 2){if (s[i] != s[i+1])x++;else{if (last != s[i])y++;last = s[i];}}printf("%d %d\n", x, (y > 1) ? y : 1);}return 0;
}

學習規劃

?

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

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

相關文章

【Crypto】摩絲

文章目錄 一、摩斯解題感悟 一、摩斯 很明顯莫爾斯密碼 iloveyou還挺浪漫 小小flag&#xff0c;拿下 解題感悟 莫爾斯密碼這種題還是比較明顯的

【董曉算法】競賽常用知識之圖論3(最近公共祖先)

前言&#xff1a; 本系列是學習了董曉老師所講的知識點做的筆記 董曉算法的個人空間-董曉算法個人主頁-嗶哩嗶哩視頻 (bilibili.com) 動態規劃系列&#xff08;還沒學完&#xff09; 【董曉算法】動態規劃之線性DP問題-CSDN博客 【董曉算法】動態規劃之背包DP問題&#xff…

智能鎖千千萬,誰是你的NO.1,親身實測凱迪仕傳奇大師K70旗艦新品

智能鎖千千萬&#xff0c;誰是你的NO.1。歡迎來到智哪兒評測室&#xff0c;這次我們為大家帶來了凱迪仕傳奇大師K70系列的一款重磅新品。 在科技的浪潮中&#xff0c;家居安全領域正經歷著前所未有的變革。智能鎖越來越成為家的安全守護神&#xff0c;以及智能生活的得力助手。…

Android 11 Framework實時監聽Activity堆棧變化

核心類 Framework中有一個類SystemActivityMonitoringService專門用于監控Activity堆棧變化&#xff0c;屬于隱藏Api&#xff0c;應用側無法調用。此類位于 packages/services/Car/service/src/com/android/car/SystemActivityMonitoringService.java 方法 void registerTa…

Mysql信息脫敏

類似微信姓名脫敏&#xff1a; SELECT CONCAT( REPEAT(*, CHAR_LENGTH(real_name) -1 ), RIGHT(real_name, 1) ) name from user_info電話號脫敏&#xff1a; SELECT CONCAT(LEFT(mobile_phone, 3), REPEAT(*, 4 ), RIGHT(mobile_phone, 4) ) phone from user_info

大數據Hive中的UDF:自定義數據處理的利器(下)

在上一篇文章中&#xff0c;我們對第一種用戶定義函數&#xff08;UDF&#xff09;進行了基礎介紹。接下來&#xff0c;本文將帶您深入了解剩余的兩種UDF函數類型。 文章目錄 1. UDAF1.1 簡單UDAF1.2 通用UDAF 2. UDTF3. 總結 1. UDAF 1.1 簡單UDAF 第一種方式是 Simple(簡單…

每日一題《leetcode--382.鏈表隨機結點》

https://leetcode.cn/problems/linked-list-random-node/ 這道題我們首先看到題目中的要求&#xff1a;在單鏈表中隨機選取一個鏈表中的結點&#xff0c;要使每個結點被選取的概率是一樣的。 當我們看到隨機這兩個字時&#xff0c;應該就會想起rand()這個函數。接著我們把使用這…

[暈事]今天做了件暈事35 VM發送給gateway太多ARP,導致攻擊檢查?

最近遇到一個問題&#xff0c;說網關學不到新起來VM的mac地址&#xff0c;通過tshark抓包發現&#xff0c;VM已經發出去GARP了。而且連續發送了24個GARP。 就認為是網關的問題&#xff0c;為什么沒網關沒有學到&#xff1f;就讓測試同事開網絡設備的ticket。 后來聽同事說&…

自己搭建內網穿透

本文介紹使用最新版frp搭建內網穿透&#xff0c;最新版本的frp在配置上與之前有很大不同&#xff0c;需要使用.toml文件進行配置。其中主要問題出現在toml文件內部。 一、云服務器配置 下載frp sudo apt update sudo apt install wget wget https://github.com/fatedier/frp…

求出這行英文中最后一個單詞的長度

【題目描述】藍寶看到了一行奇怪的英文&#xff0c;這行英文由若干單詞組成&#xff0c;每個單詞前后用一些字符*隔開請幫助藍寶求出這行英文中最后一個單詞的長度。【輸入格式】 輸入一行&#xff0c;就就是藍寶看到的奇怪的英文。 【輸出格式】 輸出一行&#xff0c;是個整數…

文旅3d仿真數字人形象為游客提供全方位的便捷服務

在AI人工智能與VR虛擬現實技術的雙重驅動下&#xff0c;文旅3D數字代言人正以其獨特的魅力&#xff0c;頻頻亮相于各類文旅場景&#xff0c;為游客帶來前所未有的個性化服務體驗。他們不僅有趣有品&#xff0c;更能言善道&#xff0c;成為文旅業數字化發展的新亮點。 這些文旅3…

Android 文件加密解密(AES)

private static final String ALGORITHM "AES"; 文件加密 /*** 文件加密* param secretKey 文件加密密鑰* param oldFiles 原始文件列表&#xff0c;需要加密的* param newFiles 構造加密后的文件列表*&#xff08;選擇多個或者單個&#xff09;多個文件加密*/ Re…

我的文章分類合集目錄

文章目錄 Java相關基礎常規問題類Docker類RabbitMQ類分庫分表 網絡工程相關路由交換、Cisco Packet TracerIP地址 前端相關數據庫 Java相關 基礎 Java開發規范、項目開發流程 SpringBoot整合MyBatis實現增刪改查(簡單,詳細) SpringBoot整合MybatisPlus&#xff08;詳細&#…

【Muduo】TcpConnection類

Muduo網絡庫的TcpConnection類代表了TCP連接的一端&#xff0c;即服務器與遠程對等端之間的連接。TcpConnection類知道自身和對端的InetAddress、封裝了前面講過的Socket類和Channel類&#xff0c;并且保有管理自己的subLoop指針&#xff0c;還有多種事件處理函數和回調&#x…

【搜索】BFS

#include <iostream> #include <cstring> #include <queue>using namespace std;const int N 110;typedef pair<int, int> PII;int n, m; int g[N][N], d[N][N];//存放地圖//存每一個點到起點的距離int bfs() {queue< PII > q;q.push({0, 0});m…

C語言什么是位段?其優點是什么?

一、問題 在內存中&#xff0c;1byte 8bit&#xff0c;即 1 字節等于 8 位。位由兩個值組成&#xff0c;即 0 和 1 。因此&#xff0c;存儲在計算機中的 1 字節&#xff0c;可以看成是8個?進制數字&#xff08;0 和1&#xff09;組成的串。了解了內存空間的最?單位&#xff…

16.js數學方法和進制轉換

數學方法 &#xff08;1&#xff09;Math.random() 默認生成0-1的隨機數 var resMath.random() console.log(res) &#xff08;2&#xff09;Math.round(數字) 取整&#xff1a;正數-四舍五入 負數-5舍6入 var resMath.round(11)console.log(res) //11var res1Math.round(1…

Aerospike設置日志按日期保存及日志保存日期

配置文件位置&#xff1a;/etc/aerospike/aerospike.conf 是Aerospike的主配置文件&#xff0c;其中包含了日志配置以及其他各種設置。 日志配置&#xff1a;在aerospike.conf文件中&#xff0c;找到logging部分進行配置。以下是一個示例配置&#xff1a; logging { # 日志文…

CentOS7安裝內網穿透實現遠程推送鏡像到本地Docker Registry

文章目錄 前言1. 部署Docker Registry2. 本地測試推送鏡像3. Linux 安裝cpolar4. 配置Docker Registry公網訪問地址5. 公網遠程推送Docker Registry6. 固定Docker Registry公網地址 前言 本文主要介紹如何部署Docker Registry 本地鏡像倉庫,簡單幾步結合cpolar內網穿透工具實現…

網絡安全之重發布與路由策略詳解

重發布&#xff1b;import &#xff08;路由導入&#xff09; 將不同方式&#xff08;直連、靜態、缺省、其他協議&#xff09;的路由器重發布進入RIP&#xff0c;OSPF中。 注意&#xff1a;1、華為中不能將缺省路由重發布進入RUO協議&#xff08;思科也是一樣&#xff09;。…