742 - 103學年TPC基礎班Mid Exam2 Scoreboard

Time

2015/05/04 19:10:00 2015/05/04 22:40:00

Clarification

# Problem Asker Description Reply Replier Reply Time For all team
1 10571 - 疊方塊 LittleBird 請問n的範圍? 謝謝 100000 抱歉 judgeDywu 2015/05/04 19:45:28
2 10571 - 疊方塊 yukiring input順序跟疊的順序無關 換句話說input給的n個方塊沒有順序 如題 yukiring 2015/05/04 20:35:31
3 10571 - 疊方塊 judgeDywu 測資不小心生了n=1,2 這種狀況請輸出1 如題,抱歉 judgeDywu 2015/05/04 20:59:57

# Problem Pass Rate (passed user / total user)
7668 PB - Lemon Soda Legend?
10562 Unidirectional TSP_again
10564 Homework Arrangement
10565 HTML tag generator
10571 疊方塊
10572 三角切分

7668 - PB - Lemon Soda Legend?   

Description

在心跳加速空間裡,有很多個勇者,每個勇者都能夠召喚數量不等的守護騎
士。而這些勇者因為打敗大邪神油膩膩及妖神頌五力而被國王阿拉拉可拉拉
優酪乳三世給予不同的等級,分別為等級1到等級N ,每個等級都會有一個
勇者。

不同的勇者之間會互相的溝通,當等級 i 的勇者要和等級 勇者溝通的時
候,若存在一個等級 k 的勇者, 介於 i, j 之間,且這個等級 k 勇者擁有比
等級 i 的勇者或等級 j 的勇者的守護騎士多的時候,這個等級 k 的勇者就會
去阻止他們的溝通。
給定各個等級勇者的守護騎士數量。請問能夠互相溝通的配對 共有幾
組。

選自NPSC2009

Input

輸入檔第一行有一個數字表示測資有幾組。
之後每組測資有 2 行,第一行有一個整數 N 代表勇者的
等級為 1~N,第二行有 N 個數字,第 i 個數字 Ai 代表等級 i 的勇者所擁有的
守護騎士的數量。
1<=N<=106
0<=Ai<=231-1

測資較大請使用scanf instead of cin

Output

每組測資輸出一行表示能夠互相溝通的勇者配對共有幾組。

Sample Input  Download

Sample Output  Download

Tags




Discuss




10562 - Unidirectional TSP_again   

Description

 著名的旅行推銷員問題(Travelling Salesman Problem)講述的是:

有n個城市,有一個推銷員要從其中某一個城市出發,走遍所有的城市(同一城市只能路過一次)後再回到他出發的城市,
並求最短的路線(也就是求一個最短的哈密頓迴路(Hamiltonian circuit))。
今天我們將它簡化為:
1.給定一m*n的矩陣,請你找出一條最小權重的路徑。一條路徑可由column 1 上的任一點出發,
經過一些移動後抵達終點,終點可以是column n上的任一個點。
2.The firstrow & last row(row 1 &row n)視為相連(也就是row 1 往上走會走到row n,反之亦然)。
以上規則類似於 Unidirectional TSP
不同的是,這次推銷員騎了一匹馬來當代步工具,因此推銷員每次移動都是走"日"字(詳見fig.a),
並且不會往回走(請參考fig.Sample)。
            
           (fig.a)                                                     (fig.Sample)

Input

有多組測資,請以EOF為輸入終止條件。
每組測資第一行有兩個整數n,m,代表這組測資有n rows, m columns(1<=n<=20,1<=m<=200)。
再來有n行,每一行有m個整數,代表矩陣的元素(0<=Mij<=2^15)。

Output

 對於每組測資輸出兩行:第一行請印出該路徑,第二行則請印出該路徑權重。

若有兩條權重相同的路徑,請輸出字典序較小者。(優先比較row number,次序比較col number)

Sample Input  Download

Sample Output  Download

Tags




Discuss




10564 - Homework Arrangement   

Description

身在資工系的小傑,學期中常有寫不完的作業,每份作業都有繳交期限。認真的小傑對課業成績非常在意,總是盡力完成所有作業,可是到了期中他發現,就算不吃飯、不上課、不睡覺,也無法在期限內完成所有作業,於是他必須採取棄保策略,他已經預算好每個作業所要花的時間,請你算出他最多能交出幾份作業。

舉例來說,如範例一,小傑可以在時間0 ~ 2完成作業一,時間2 ~ 3完成作業二,此時就無法完成作業三,因為它的期限是在時間4,如圖 (a) 所示;另一種策略是:時間0 ~ 2完成作業一,時間2 ~ 4完成作業三,如圖 (b) 所示。

 
 
圖 (a) 



 
圖 (b)

Input

第1行輸入一個正整數 n,代表作業份數

第2 ~ n + 1行,每行兩個正整數,分別表示這個作業的繳交期限和完成它所需的時間,單位皆為一小時,可以假設小傑能從時間 0 開始不眠不休拼命地趕作業。
限制:n ≤ 1,000,000,所有整數皆可存於32-bit signed integer (ex: int in C++)
 

Output

輸出一個整數代表最多能完成的作業份數。(剛好在作業繳交期限時間點寫完的作業算是完成的)

Sample Input  Download

Sample Output  Download

Tags




Discuss




10565 - HTML tag generator   

Description

小傑這學期修了太多課,每天都在和deadline賽跑,雖然他在競程基礎班學到了一個實用的方法可以幫助他從每個作業的deadline以及完成每個作業的所需時間決定出可以完成最多作業的排程方式,但是經過精密的計算,小傑發現他每次都必須放棄Web程式設計課程的作業。好不容易才選上的課程,說什麼他也不想二退,但是如果不放棄這門課的作業,其他科目就會非常悲劇。
身為小傑最佳損友的你,非常了解他每次寫網頁要花很多時間的原因,就像寫C語言時常常會因為括號沒配對好而發生compile error的悲劇一樣,他每次總是會因為幾個標籤沒配對好而辛辛苦苦地在400多行的網頁原始碼尋尋覓覓。小傑的生日就在5月5日,剛好你手頭很緊沒有錢可以買一支新的釣竿送他,因此你決定做一個可以幫助他開發HTML網頁的程式當作他的生日禮物。

 
一個以HTML語言撰寫而成的網頁原始碼會包含許多標籤,這些標籤是成對的。(在這裡我們不考慮某些不用成對表示的情況)
成對的標籤分為開始標籤與結束標籤,開始標籤必須排列在結束標籤之前,開始標籤的格式以 <標籤名稱> 表示,而結束標籤則是以 </標籤名稱>  表示。
例如以abc為名稱的成對標籤為 <abc></abc>。
 
任一組開始標籤與結束標籤之間可以包含多組成對的標籤,以下是一個合法的範例,在<abc></abc>之間包含了三組成對的標籤:
<abc><a></a><b></b><c></c></abc>
 
底下給出一些不合法的範例:
1.標籤沒有成對
<abc><abc>
2.標籤雖然成對出現,但由成對的標籤之間包夾的標籤並不成對
<a><b></a></b>

Input

本題有多組測資。

每組測資的第一行會給定正整數N (1 ≦ N ≦ 10000)。
接下來會有N行,每一行依序給出一個字串s、一個正整數id、一個正整數p,每一行都是一組成對標籤的資訊。s,id,p之間會以一個空白字元分隔。
s表示標籤的名稱,只會包含小寫英文字母,且長度不超過20個字元。
id表示該組標籤的編號(2 ≦ id ≦ N+1),每組標籤的編號是唯一的。
p表示直接包含此組標籤的標籤編號(1 ≦ p ≦ N+1)。

註1:編號為1的標籤是預設的,不會在input中出現,名稱為"html"(不含雙引號)。
註2:關於直接包含。以<a><b><c></c></b></a>為例,<c></c>被<b></b>直接包含,而不是被<a></a>直接包含。因為我們有<c></c>被<b></b>包含,且<b></b>被<a></a>包含,經過兩層以上的包含就不算直接包含,但是仍有<c></c>被<a></a>包含的關係。

Output

輸出正確的標籤排列方式。相鄰測資之間請輸出一個換行字元隔開。
正確的標籤排列方式應符合以下四點:
1.與input描述的標籤之間的包含關係一致
2.不論是開始標籤或是結束標籤,每個標籤占一行
3.若標籤S被k組標籤所包含(不一定要直接包含),則在輸出標籤S之前要先輸出3*k個空白字元
4.若有多組標籤同時被同一個編號的標籤直接包含,則這些標籤的輸出順序應和input的出現順序一致。

以下以第二組Sample為例進行解說:
<style>、</style>、<head>、</head>、<body>、</body>因為被<html></html>包含,因此在輸出標籤之前要輸出3個空格字元;
<title>、</title>因為被<html></html>以及<head></head>包含,因此在輸出標籤之前要輸出6個空格字元;
<ul>、</ul>因為被<html></html>以及<body></body>包含,因此在輸出標籤之前要輸出6個空格字元;
<li>、</li>因為被<html></html>以及<body></body>以及<ul></ul>包含,因此在輸出標籤之前要輸出9個空格字元。
<html></html>同時包含了編號為2,3,4的標籤,標籤的輸出順序是按照input的順序排列(和編號無關)。

:受限於OJ顯示Sample Output的機制(無法於行首顯示多個半形空白字元),因此Sample Output都是顯示全形的空白字元,但正確的輸出都是半形的空白字元,也就是字元' '(ASCII十進制編碼32)。

Sample Input  Download

Sample Output  Download

Tags




Discuss




10571 - 疊方塊   

Description

給n個 長ai 寬bi 高度1的方塊(不能旋轉),現在堆一些方塊,疊的每塊個方塊長寬都必須比下面哪一塊方塊還小

問最多能疊幾個

Input

第一行測資筆數T

每筆測資第一行方塊個數n<=10^5

之後每行兩個正整數ai, bi<=10^9,該方塊的長與寬

Output

每筆測資輸出一個整數:最多能疊的方塊數

Sample Input  Download

Sample Output  Download

Tags




Discuss




10572 - 三角切分   

Description

求一個正 n 邊型有幾種用三角形切分的方法

以下是n=6的14種切分法

Input

第一行測資筆數T

每筆測資一個正整數 3<=n<=1000

Output

每筆測資請輸出三角切分的方法數

由於數字很大,答案請mod 10^9+7

Sample Input  Download

Sample Output  Download

Tags




Discuss