話不多說,上題:
5、聯絡員(contact.cpp)
【題目描述】
superoj 已經一歲了,**也由最初的幾個使用者增加到了上萬個使用者,隨著 superoj
**的逐步壯大,管理員的數目也越來越多,現在你身為tyvj管理層的聯絡員,希望你找
到一些通訊渠道,使得管理員兩兩都可以聯絡(直接或者是間接都可以)。superoj 是乙個
公益性的**,沒有過多的利潤,所以你要盡可能的使費用少才可以。
目前你已經知道,superoj 的通訊渠道分為兩大類,一類是必選通訊渠道,無論**
多少,你都需要把所有的都選擇上;還有一類是選擇性的通訊渠道,你可以從中挑選一些
作為最終管理員聯絡的通訊渠道。資料保證給出的通行渠道可以讓所有的管理員聯通。
【輸入格式】
第一行 n,m 表示 superoj 一共有 n 個管理員,有 m 個通訊渠道。
第二行到 m+1 行,每行四個非負整數,p,u,v,w 當p=1時,表示這個通訊渠道為必選
通訊渠道;當p=2時,表示這個通訊渠道為選擇性通訊渠道;u,v,w 表示本條資訊描述的
是 u,v 管理員之間的通訊渠道,u 可以收到 v 的資訊,v 也可以收到 u 的資訊,w 表
示費用。
【輸出格式】
輸出最小的通訊費用。
【輸入樣例】
5 61 1 2 1
1 2 3 1
1 3 4 1
1 4 1 1
2 2 5 10
2 2 5 5
【輸出樣例】
9看到這道題,不難想到最小生成樹。只需要將必選通訊通道先取出建立樹後,選擇性的通道就與普通模板無異了。題解**方法為kruskal。
上**:
#include
using
namespace std;
int n,m,ans,cnt,father[
2010];
struct node
e[10010];
bool
cmp(node x,node y)
intfind
(int x)
void
together
(int x,
int y)
intmain()
else
}sort
(e+1
,e+cnt+
1,cmp)
;for
(int i=
1;i<=cnt;i++)}
cout<}
接下來是第6題
6、攻擊路線(forest.cpp)
【題目描述】
經歷千辛萬苦,tom終於來到了愛琳大陸的怪物森林。 怪物森林是乙個n*m的矩陣,從上到下一共有n行,從左到右一共有m列。 對於每個位置(x,y)都有乙個怪物,每個怪物都有一定的攻擊力。 現在tom想要從左上角(1,1)移動到右下角(n,m)。 tom可以往上下左右四個方向移動,當然前提是不能移動出邊界。 對於一條從(1,1)到(n,m)的移動路線,由於森林的特殊性,tom只能選擇該路線中攻擊力最小的乙個怪物進行攻擊,並定義該怪物的攻擊力為該路線的重要度。 現在tom想要選擇一條重要度最大的路線,請你回答tom的詢問。
【輸入格式】
第一行有兩個數n、m,表示森林的大小,用乙個空格隔開。
接下來n行,每行m個數,第i+1行j列的數表示位置為(i,j)的怪物的攻擊力。
【輸出格式】
第一行輸出乙個數表示重要度最大的路線的重要度。
【樣列輸入】forest.in
2 27 5
3 4【樣列輸出】forest.out
4【樣列解釋】
選擇(1,1)->(1,2)->(2,2)的路線可獲得最大的重要度。
【資料規模】
對於20%的資料:1≤n,m≤10
對於70%的資料:1≤n,m≤500
對於100%的資料:1≤n,m≤800,所有怪物的攻擊力在int範圍內
#include
using
namespace std;
const
int maxn=
1005
;int n,m;
int a[maxn]
[maxn]
;const
int size=maxn*maxn;
int q[size][2
],head,tail;
bool v[maxn]
[maxn]
;inline
voidpb(
int x,
int y)
bool
check
(int x),,
,};memset
(v,0
,sizeof
(v))
; head=tail=0,
pb(1,
1);while
(head}return v[n]
[m];
}int
main()
printf
("%d\n"
,ans)
;return0;
}
部落格第一次
2017年11月23號,今天是我第一次寫部落格。之前老師一直要求新生要開始寫部落格了,拖了這麼久,是時候開始把平時學習和生活拿來寫寫了。從進實驗室也有20多天了,在這20多天裡,我感覺實驗室的氛圍非常好。在這裡我不僅可以學習c語言,而且還可以學習英語,學習高數。剛進實驗室的時候,在迎新會上,學姐和學...
第一次 部落格
第一次接觸信奧,以前都未聽說過,很神奇的樣子。而且,難的一匹。我的天,當別人80 選大王 時,我還在50徘徊!唉!程式設計是電腦的基本的操作,也就是電腦的大腦 我現在再也不信人工智慧可以稱霸世界了,if 可以 就黑掉 第一次過題的時候就別提有多麼的興奮了!選擇的if語句總體而言,還算好理解,但是有很...
第一次部落格
本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...