【CCF】路径解析 模拟
2024-08-28 15:04:30
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector> using namespace std;
int n;
const int maxn=1e3+;
char str[maxn];
string rel;
void handle(){
int len=strlen(str);
len--;
if(len==){
cout<<rel<<endl;
return;
}
string ans;
ans.clear();
if(str[]=='/'){
ans="";
}else{
ans=rel;
}
int i=;
while(i<len){
if(str[i]=='.'&&i+<len&&str[i+]=='.'&&((i+<len&&str[i+]=='/')||(i+==len))){
int j=ans.length()-;
for(;j>=;j--){
if(ans[j]=='/'){
break;
}
}
if(j<) ans="";
else ans=ans.substr(,j);
i+=;
}else if(str[i]=='.'&&((i+<len&&str[i+]=='/')||(i+==len))){
i++;
}else if(str[i]=='/'){
while(++i<len&&str[i]=='/');
}else{
string tmp="/";
tmp+=str[i];
while(++i<len&&str[i]!='/'){
tmp+=str[i];
}
ans+=tmp;
}
}
if(ans==""){
printf("/\n");
return;
}else{
cout<<ans<<endl;
return;
}
}
int main(){
cin>>n;
getchar();
fgets(str,maxn,stdin);
rel.clear();
for(int i=;i<strlen(str)-;i++){
rel+=str[i];
}
while(n--){
fgets(str,maxn,stdin);
handle();
}
return ;
}
最新文章
- Sharepoint2013 AD组用户不同步
- 面向过程(POP)、面向对象(OOP)、面向接口(IOP)、面向切面(AOP)
- VirusAnti_didiwei使用说明
- 添加图片按钮-UI界面编辑器(SkinStudio)教程
- Careercup - Microsoft面试题 - 5428361417457664
- Effective java笔记4--方法
- POJ2480 Longge&#39;s problem gcd&;&;phi
- [python]获取字符串类型
- 第四节:教你如何快速让浏览器兼容ES6特性
- 关于UIWebview的属性的介绍
- 改ucosii的中断禁止和恢复代码,这是一个荒谬的错误【 mrs msr】
- ExtJS学习-------Ext正确Dom操作:Ext.get Ext.fly Ext.getDom
- LGTB 与序列
- P2P综述
- mysql YEARWEEK(date[,mode]) 函数 查询上周数据 以及本周数据
- 二进制 转换成十进制 BCD码(加3移位法)
- javascript-关于赋值的那点事
- css如何制作八边形
- mariadb或者mysql忘记root密码
- (转)python 搭建libsvm方法。python版本和libsvm版本匹配很重要!