您的位置:首页 > 其它

UVA 10361 - Automatic Poetry(字符串)

2012-06-01 21:31 453 查看
题目链接

好郁闷的半下午+一晚上。。做了个本应用BFS的题,我用DFS写了130+,结果怎么都是超时。。。烦了。。。。刷个UVA,挺简单的题,防止没完没了的WA,做的还是挺谨慎的,感觉用的做法比较麻烦不知能否用scanf输入,无所谓了,还好1A。

#include <stdio.h>
#include <string.h>
int main()
{
char p1[1000],p2[1000],o1[1000],o2[1000],k1[1000],k2[1000];
int n,i,j,l1,l2,z,e;
scanf("%d%*c",&n);
while(n--)
{
z = 1;
gets(p1);
gets(p2);
l1 = strlen(p1);
l2 = strlen(p2);
for(i = 0;i < l1;i ++)
{
if(p1[i] != '<' && p1[i] !='>')
printf("%c",p1[i]);
else
{
if(p1[i] == '<'&&z==1)
{
for(j = i+1;p1[j] !='>';j ++)
o1[j-i-1] = p1[j];
for(e = j+1;p1[e] !='<';e ++)
k1[e-j-1] = p1[e];
k1[e-j-1] = '\0';
o1[j-i-1] = '\0';
z++;
}
else if(p1[i] == '<' &&z==2)
{
for(j = i+1;p1[j] !='>';j ++)
o2[j-i-1] = p1[j];
for(e = j+1;p1[e] !='\0'&&p1[e] != ' ';e ++)
k2[e-j-1] = p1[e];
k2[e-j-1] = '\0';
o2[j-i-1] = '\0';
}
}
}
printf("\n");
for(i = 0;i < l2;i ++)
{
if(p2[i]=='.'&&p2[i+1]=='.'&&p2[i+2]=='.')
{
printf("%s%s%s%s",o2,k1,o1,k2);
i += 2;
}
else
printf("%c",p2[i]);
}
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: