12797: Letters ★★★☆☆ 題組:Problem Set Archive with Online Judge

Slides:



Advertisements
Similar presentations
While 迴圈 - 不知重複執行次數
Advertisements

無性生殖是由親代直接產生新的個體,並不涉及配子的生成與結合。
主題四 與世界相遇 (2-行旅蒼穹).
歷史建築清水國小宿舍群修復工程 施工說明會
11010: Tic-Tac-Tough ★★★★☆ 題組: Problem Set Archive with Online Judge
自然的食物就是你最好的醫生 上課之前先聽一首歌~稻香 歌詞、音樂還不錯和大家分享一下
Dropping water balloons
算法设计与分析 李清勇 教授 办公室:第九教学楼北201.
怎樣吃才健康? 賴亭竹.
营改增税负分析 之 税负分析测算表 青岛市国税局货物和劳务税处 二○一六年五月 1.
胫腓骨骨折.
第二单元(6-9课) 近代化的探索.
新帝國主義開港 (一)臺灣成為侵略者目標 1.背景: A.買賣利豐=鴉片進口+米、糖、樟腦、煤炭出口 B.地理位置優越=航行安全+商貿中心 2.新帝國主義: A.19C中:英、法、美、日為主 B.臺被迫開港通商,割地賠款,簽訂不平等條約.
佳力科技 防爆叉车的应用、发展 浙江佳力科技股份有限公司.
第十一章 真理与价值 主讲人:阎华荣.
六年级上册 第三单元 比的意义 江苏省电化教育馆制作.
ACM/ICPC暑期集训讲座 二分图匹配 cnhawk
国家和我省禽业发展政策 和扶持项目解读 安徽省畜牧兽医局
烟花爆竹企业开复工 安 全 培 训参考课件 浏 阳 市 安 监 局.
第七章 固 定 资 产.
常规免疫接种率 监测 免疫规划科 章梦然.
入托、入学儿童预防接种证查验 武平县疾病预防控制中心 林传贵
从双基到四基,从两能到四能 ——学习《义务教育数学课程标准(2011版)》
词类活用.
數學趣事與漫談 控晶一甲第三組 組長:蔡政廷 組員:張竣傑、李昱叡.
行政院國軍退除役官兵輔導委員會 嘉義榮民醫院.
第八章 第一节 日本 邹旭丹 滨河中学初中部 湘教版地理初一年级.
10298: Power Strings ★★☆☆☆ 題組:Problem Set Archive with Online Judge
第六章 安全衛生工作守則 6-1 前 言  6-2 訂定依據相關法令規定  6-3 工作守則製作程序及製作前應注意事項  6-4 如何訂定適合需要之安全衛生工作守則  6-5 結 論.
Chapter12 Graphs Definitions Applications Properties
Computer Science Department
公立學校教職員退休資遣撫卹條例重點說明 苗栗縣政府人事處編製 主講人:陳處長坤榮 107年5月2日.
10066: The Twin Towers ★★★☆☆ 題組:Problem Set Archive with Online Judge
经典算法之 冒 泡 排 序.
10465: Homer Simpson ★★★☆☆ 題組:Problem Set Archive with Online Judge
今天, AC 你 了吗? 2019/4/26.
10902: Pick-up Sticks ★★☆☆☆ 題組:Problem Set Archive with Online Judge
11413 : Fill the Containers ★★★★☆
士師記.
10415: Eb Alto Saxophone Player
第11章 物件互動行為塑模.
進階資料結構(2) Disjoint Sets
10115: Automatic Editing ★★☆☆☆
10394: Twin Primes ★★★☆☆ 題組:Problem Set Archive with Online Judge
11058: Encoding ★☆☆☆☆ 題組:Problem Set Archive with Online Judge
Commando War ★★☆☆☆ 題組:Problem Set Archive with Online Judge
10328: Coin Toss ★★★☆☆ 題組:Problem Set Archive with Online Judge
674: Coin Change ★★☆☆☆ 題組:Problem Set Archive with Online Judge
1753: Need for Speed ★★☆☆☆ 題組:Problem Set Archive with Online Judge
1757: Secret Chamber at Mount Rushmore
13194: DPA Number II ★★☆☆☆ 題組:Problem Set Archive with Online Judge
1730: Sum of MSLCM ★★☆☆☆ 題組:Problem Set Archive with Online Judge
11908: Skyscraper ★★★☆☆ 題組:Problem Set Archive with Online Judge
10599: Robots(II) ★★★★☆ 題組:Problem Set Archive with Online Judge
10039: Railroads ★★☆☆☆ 題組:Problem Set Archive with Online Judge
11455: Behold My Quadrangle ★☆☆☆☆
All Sources Shortest Path The Floyd-Warshall Algorithm
10393:The One-Handed Typist
10107: What is the Median? ★★☆☆☆
10440: Ferry Loading II ★★☆☆☆ 題組:Problem Set Archive with Online Judge
10791: Minimum Sum LCM ★★★☆☆ 題組:Problem Set Archive with Online Judge
11616:Roman Numerals ★★☆☆☆ 題組:Problem Set Archive with Online Judge
10489: Boxes of Chocolates ★★☆☆☆
10303: How Many Trees? ★★☆☆☆ 題組:Contest Archive with Online Judge
12439: February 29 ★☆☆☆☆ 題組:Problem Set Archive with Online Judge
11506: Angry Programmer ★★★★☆ 題組:Contest Set Archive with Online Judge
11621 : Small Factors ★★☆☆☆ 題組:Problem Set Archive with Online Judge
11368: Nested Dolls ★★★☆☆ 題組:Problem Set Archive with Online Judge
10801: Lift Hopping ★★★☆☆ 題組:Problem Set Archive with Online Judge
1200: A DP problem ★★☆☆☆ 題組:Problem Set Archive with Online Judge
Presentation transcript:

12797: Letters ★★★☆☆ 題組:Problem Set Archive with Online Judge 解題者:林必祥 解題日期:2017年5月23日 題意:給定一個N×N公園(2≦N≦100),求從座標(1,1)走到座標(N,N)的最短路徑(只能往上下左右四個方向移動),且需符合以下規則:每個座標都會是a~j或是A~J其中一個字母,最後選擇的路徑不可以同時包含某字母的大小寫。

題意範例: 6 DdaAaA. D. CBAcca. C. eEaeeE. e. ee. bBbabB. b. bab. DbDdDc 題意範例: 6 DdaAaA D..... CBAcca C..... eEaeeE e..ee. bBbabB b.bab. DbDdDc DbD.D. fFaAaC ....aC 輸出13 7 aAaaaaa aAaaaaa aAaaaAa aAaaaAa aAaaaAA aAaaaAA aaAaAaa aaAaAaa AaAaaAa AaAaaAa aaAAaAa aaAAaAa aaaaaAa aaaaaAa 輸出-1(找不到)

解法: 分析題目,給定的N×N矩陣中,要找出(1,1)到(N,N)的最短路徑。透過一般的搜索方式( BFS / DFS )去找最短路徑。 然而,如何知道最短路徑發生的情況是哪些字母選大寫,哪些選小寫呢? 回到題目敘述,字母只有可能是abcdefghijABCDEFGHIJ,十個字母的大小寫。 因此,直接枚舉所有的組合,然後跑圖的搜索。 a b c … h i j A B C H I J 1 ...

解法: 這樣的方法,時間不會超過嗎? 時間複雜度:O(210. N 解法: 這樣的方法,時間不會超過嗎? 時間複雜度:O(210*N*N),最大約為107。 枚舉所有的字母情況組合,該怎麼做? 提供一個遞迴的方法。 bool arr[256]; // initial as false void rec(int i) { // start at rec(0) if (i == 10) { bfs(); return; } arr[‘a’+i] = true; arr[‘A’+i] = false; rec(i+1); arr[‘a’+i] = false; arr[‘A’+i] = true; // exchange rec(i+1); }

解題範例:無 討論: 時間複雜度:O(210*N*N) N的範圍:2≦N≦100