2005年上海交通大学计算机研究生机试真题
生活随笔
收集整理的這篇文章主要介紹了
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年上海交通大学计算机研究生机试真题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汽车加油行驶问题
- 下一篇: 九度互动社区IT名企招聘上机考试热身赛