欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

2005年上海交通大学计算机研究生机试真题

发布时间:2024/7/19 90 豆豆
生活随笔 收集整理的这篇文章主要介绍了 2005年上海交通大学计算机研究生机试真题 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

http://ac.jobdu.com/problem.php?pid=1090   路径打印

#include<iostream> #include<set> #include<string> #include<cstdio> using namespace std;set<string> iset; string str,front_str; int main(void) {int i,j,k,n;while(scanf("%d",&n)!=EOF){if(!n)break;iset.clear();for(i = 0 ; i < n ; ++i){cin>>str;iset.insert(str); //set集合中的元素默认是按升序来排列的}set<string>::iterator it,iter = iset.begin();str = *iter;for(i = 0 ; i < str.size() ; ++i){if(str[i]=='\\'){if(i < str.size()-1){puts("");for(j = 0 ; j <=i ; ++j)putchar(' ');}}elseputchar(str[i]);}for(++iter; iter != iset.end() ; ++iter){str = *iter;it = iter;front_str = *(--it);j = 0;while(str[j] && str[j] == front_str[j])j++;while(j>0 && str[j] != '\\') //为了处理下面这个情况 a\bd\dj--; // a\bt\pif(str[j] == '\\')j++;for(i = j ; i < str.size() ; ++i){if(str[i] == '\\'){if(i < str.size()-1){puts("");for(k = 0 ; k <= i ; ++k)putchar(' ');}}else{if(i == j){puts(""); //输出每行后面的那个换行符for(k = 0 ; k < i ; ++k)putchar(' ');}putchar(str[i]);}}}puts("");puts("");}return 0; }


总结

以上是生活随笔为你收集整理的2005年上海交通大学计算机研究生机试真题的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。