日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

POJ 1057 File Mapping 最详细的解题报告

發(fā)布時間:2025/4/9 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ 1057 File Mapping 最详细的解题报告 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目來源:POJ 1057 File Mapping

題目大意:像我的電腦那樣顯示文件夾和文件信息,其中在同一級目錄內(nèi),文件夾排在文件的前面并且文件夾的順序不變,同一級目錄中文件按字母序排列。文件以‘f’開頭,文件夾以‘d’開頭,‘*’表示一個case的結(jié)束,‘#’表示所有輸入內(nèi)容結(jié)束。

?

解題思路:遞歸創(chuàng)建,最后遞歸輸出。算法比較簡單,我就不細(xì)說了,具體看代碼:

?

具體算法(java版,可以直接AC)

1 import java.util.*; 2 3 public class Main { 4 public static void main(String[] args) { 5 Scanner input = new Scanner(System.in); 6 Node root = null; 7 Node parent = null; 8 String line = ""; 9 int count = 1; 10 do { 11 root = new DirectoryNode("ROOT", null); 12 parent = root; 13 do { 14 line = input.next(); 15 if (line != null && !line.isEmpty()) { 16 line = line.trim(); 17 Node childNode=null; 18 if (line.startsWith("f")) { 19 childNode=new FileNode(line,parent); 20 parent.children.add(childNode); 21 }else if (line.startsWith("d")) { 22 childNode=new DirectoryNode(line,parent); 23 parent.children.add(childNode); 24 parent=childNode; 25 }else if (line.startsWith("]")) { 26 if(parent!=null){ 27 parent=parent.parent; 28 } 29 } 30 } 31 } while (!line.startsWith("*")); 32 System.out.println(String.format("DATA SET %s:", count++)); 33 root.output(); 34 if(!line.startsWith("#")){ 35 System.out.println(); 36 } 37 } while (!line.startsWith("#")); 38 } 39 } 40 41 abstract class Node { 42 public String name; 43 public Node parent; 44 public String prefix; 45 public List<Node> children; 46 47 public Node(String name, Node parent) { 48 this.name = name; 49 this.parent = parent; 50 this.prefix = ""; 51 if (this.parent != null) { 52 this.prefix = this.parent.prefix + this.prefix; 53 } 54 this.children = new ArrayList<Node>(); 55 } 56 57 public void sort() { 58 Collections.sort(this.children, new Comparator<Node>() { 59 public int compare(Node left, Node right) { 60 if (left instanceof DirectoryNode) { 61 return -1; 62 }else{ 63 if (right instanceof FileNode){ 64 return left.name.compareTo(right.name); 65 }else{ 66 return 1; 67 } 68 } 69 } 70 }); 71 } 72 73 public abstract void output(); 74 } 75 76 class FileNode extends Node { 77 78 public FileNode(String name, Node parent) { 79 super(name, parent); 80 } 81 82 @Override 83 public void output() { 84 if (this.parent != null) { 85 this.prefix = this.parent.prefix + this.prefix; 86 } 87 System.out.println(this.prefix + this.name); 88 } 89 } 90 91 class DirectoryNode extends Node { 92 93 public DirectoryNode(String name, Node parent) { 94 super(name, parent); 95 } 96 97 @Override 98 public void output() { 99 if (this.parent != null) { 100 this.prefix = this.parent.prefix + "| "; 101 } 102 System.out.println(this.prefix + this.name); 103 this.sort(); 104 for (Node child : this.children) { 105 child.output(); 106 } 107 } 108 }

?

PS:本人比較喜歡設(shè)計模式,因此在寫算法的時候也會想用一些設(shè)計模式里面的知識,其實在ACM比賽中,這樣是不好的,效率低。

?

如果有哪里不清楚的,可以給我留言!

?

轉(zhuǎn)載于:https://www.cnblogs.com/pinxiong/p/4001209.html

總結(jié)

以上是生活随笔為你收集整理的POJ 1057 File Mapping 最详细的解题报告的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 齐天大性床战铁扇公主 | 中文字幕97 | 欧美成人一区二区视频 | 日韩欧美偷拍 | av天堂永久资源网 | 欧美裸体xxxx | 国产精品精品国产 | 国产精品视频一区二区三区, | 一级片视频免费观看 | 色综合久久久 | 日本吃奶摸下激烈网站动漫 | 人人妻人人藻人人爽欧美一区 | 日韩女优中文字幕 | 亚洲天堂岛 | 伊人av网| 国产在线精品一区二区 | 亚洲精品久久久久 | 亚洲第六页| 奇米精品一区二区三区在线观看 | 欧美a√ | 一级做a免费 | 人人干夜夜操 | 中文字幕丰满乱子伦无码专区 | 亚洲三级小说 | 性生活视屏| 一区视频免费观看 | 亚洲欧美日韩国产精品 | 亚洲美女福利 | 日韩播放 | 国产二区一区 | 精品熟妇无码av免费久久 | 日本少妇b | 免费av看| 男人桶女人桶爽30分钟 | 葵司免费一区二区三区四区五区 | 一区二区三区精品视频在线观看 | 免费视频亚洲 | 日吊视频 | 99精品免费视频 | 97狠狠干 | 日韩精品xxxx | 久久久精品小视频 | 色碰视频 | 中文字幕色 | 国产一区免费视频 | 国产成人久久精品 | 免费看三级黄色片 | 日韩av色图 | 日韩中文字幕在线播放 | 日本男人天堂网 | 精品国产18久久久久久 | 99久久免费看精品国产一区 | 九九精品影院 | 色资源在线观看 | 人物动物互动39集免费观看 | www.日韩在线 | 草1024榴社区成人 | 性欧美www | 日本免费黄色小视频 | 青青草原国产视频 | 国产a∨精品一区二区三区仙踪林 | 日本一本不卡 | 亚洲欧洲成人精品久久一码二码 | 伊人精品影院 | 69影院在线观看 | 国产高清视频免费在线观看 | 国产一区二区三区影院 | 天天色官网 | 性欧美巨大乳 | 伊人激情在线 | 99国产视频在线 | 久草国产在线观看 | 国产黄色电影 | 亚洲一区二区三区成人 | 色伊人久久 | 日本黄色生活片 | 午夜两性视频 | 久久久久久av无码免费看大片 | 激情小说图片视频 | 视频福利在线 | 国产91精品一区 | 欧美在线网 | 亚洲精品字幕在线观看 | 亚洲第一精品在线观看 | 草久在线 | 黄色网址视频在线观看 | 久热中文| 99re在线视频免费观看 | 黄色日皮视频 | 国产同性人妖ts口直男 | 91干干干 | 亚洲综合一区二区 | 淫片在线| 乖女从小调教h尿便器小说 欧美韩一区二区 | 免费黄色av电影 | 天天干免费视频 | 日本不卡视频在线观看 | 色哟哟国产 | 国产肉体ⅹxxx137大胆 |