HDU 1274 展开字符串(深搜+字符串,显示缩写的字符串)
2015-09-06 17:22
323 查看
题目地址:点击打开链接
思路:深搜+字符串,直接看代码
AC代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cctype>//islower的头文件
using namespace std;
char a[300];
void dfs(int left,int right)
{
int i,j,count1,count2,l,r;
for(i=left; i<=right; i++)
{
if(a[i] >= '1' && a[i] <= '9')
{
count1 = a[i] - '0';
l = r = i + 1;
if(a[l] == '(')//这里还有可能直接是字母,不是括号,所以要判断
{
count2 = 1;
for(j=l+1; j<=right; j++)
{
if(a[j] == '(')
count2++;
else if(a[j] == ')')
count2--;
if(count2 == 0)
{
r = j;
break;
}
}
}
for(j=1; j<=count1; j++)
{
dfs(l,r);
}
i = r;//这里不用加1,for循环会加1
}
else if(islower(a[i]))
{
printf("%c",a[i]);
}
}
}
int main()
{
int t,len;
scanf("%d",&t);
while(t--)
{
scanf("%s",a);
len = strlen(a);
dfs(0,len-1);
printf("\n");
}
return 0;
}
思路:深搜+字符串,直接看代码
AC代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cctype>//islower的头文件
using namespace std;
char a[300];
void dfs(int left,int right)
{
int i,j,count1,count2,l,r;
for(i=left; i<=right; i++)
{
if(a[i] >= '1' && a[i] <= '9')
{
count1 = a[i] - '0';
l = r = i + 1;
if(a[l] == '(')//这里还有可能直接是字母,不是括号,所以要判断
{
count2 = 1;
for(j=l+1; j<=right; j++)
{
if(a[j] == '(')
count2++;
else if(a[j] == ')')
count2--;
if(count2 == 0)
{
r = j;
break;
}
}
}
for(j=1; j<=count1; j++)
{
dfs(l,r);
}
i = r;//这里不用加1,for循环会加1
}
else if(islower(a[i]))
{
printf("%c",a[i]);
}
}
}
int main()
{
int t,len;
scanf("%d",&t);
while(t--)
{
scanf("%s",a);
len = strlen(a);
dfs(0,len-1);
printf("\n");
}
return 0;
}
相关文章推荐
- Spring AOP的实现原理之<aop:aspectj-autoproxy />的解析
- 线程与网络常见知识点解答
- HDU 5430 Reflect
- java 设计模式的开场浅谈
- 飞鱼星路由器常见问题解答
- struts2的搭建
- 2015.09.06 数据库笔记
- IllegalArgumentException: Argument for @NotNull parameter 'file' of com/intellij/openapi/vfs/VfsUtilCore.virtualToIoFile must not be null
- eclipse安装freemarker插件
- nl80211 & cfg80211 库是如何工作的?
- paddingStart paddingLeft paddingRight paddingEnd
- 初创企业CEO要优先考虑的5件事
- SpringMVC接收复杂集合参数
- Processing 教程(8)- 图像处理:抽象椭圆点阵
- javaScript 内置对象六 (Array)
- General PE format layout
- 设计和编写设备驱动的一般方法
- eval处理json遇到的问题
- Letter Combinations of a Phone Number —— Leetcode
- 一个不错的Jtable实例