|
|
发表于 2025-7-19 19:15:37
|
显示全部楼层
- @set @do_not_save_as_utf8=1;/*&echo off
- type "1.txt"|cscript //nologo //e:jscript "%~f0"
- pause&exit /b 0 */
- var str=WScript.StdIn.ReadAll().split(/\r?\n/);
- var node=function(v){this.value=v;this.next=[];}
- var root=null,root_table=[],node_table={};
- var switch_root=function(r){
- for(var k=0;k<root_table.length;k++){
- if(r==root_table[k][1])return root_table[k][0];}
- return 0;
- }
- for(var i=0;i<str.length;i++){
- var a=str[i].split("\t");
- if(node_table["@@"+a[0]]){;}else{
- var _node=new node(a[0]);
- node_table["@@"+a[0]]=_node;
- }
- if(node_table["@@"+a[1]]){;}else{
- var _node=new node(a[1]);
- node_table["@@"+a[1]]=_node;
- }
- node_table["@@"+a[0]].next.push(node_table["@@"+a[1]]);
- root_table.push(["@@"+a[0],"@@"+a[1]]);
- if(root){
- while(1){
- var _root=switch_root(root);
- if(_root){root=_root;}else{break;}
- }
- }else{
- root="@@"+node_table["@@"+a[0]].value;
- }
- }
- var print=function (x,y){
- for(var i=0;i<x.length;i++){
- if(x[i].next.length){
- WScript.Echo(y+x[i].value);
- print(x[i].next,y+' ');
- }else{WScript.Echo(y+x[i].value);}
- }}
- WScript.Echo(node_table[root].value);
- print(node_table[root].next,' ');
复制代码 |
|