`
wss71104307
  • 浏览: 223071 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

1022 展开字符串(递归超时的)

阅读更多
/*http://acm.nit.net.cn/showproblem.jsp?pid=1022*/
#include <stdio.h>
#include <ctype.h>

#define MAXSIZE 250;

char * unfoldstr(char *);

int main()
{
	int n, i;
	char str[250];
	while(scanf("%d",&n) == 1)
	{
		for(i=0; i < n; i++)
		{
			scanf("%s", str);
			unfoldstr(str);
		}
	}
	return 0;
}

char * unfoldstr(char * str)
{
	int i;
	char * end = NULL;
	int num;


	while(*str)
	{
		if(isdigit(*str))
		{
			num = 0;
			while(isdigit(*str))
			{
		    	num= num * 10 + *str - '0';
				str++;
			}
			end = str;
			str++;
			for(i = 0; i < num; i++)
			{

				if((*end) == '(')
				{
				   str = unfoldstr(end+1);
				}
				else
				{
					putchar(*end);
				}

			}
		}
	   
		if(isalpha(*str))
		{
			putchar(*str);
		    ++str;
		}

		if(*str == ')')
		{
			str++;
			return str;
		}

		if(*str == '\0' )
		{
			putchar('\n');
			break;
		}
	}
}
 
分享到:
评论

相关推荐

    ACM资料字符串处理并差集

    字符串处理是指对字符串进行操作和处理的过程,包括字符串的输入、字符串的比较、字符串的匹配、字符串的解析等。字符串处理是计算机科学中的一门重要学科,对于各种计算机应用程序都有重要的影响。 二、并差集 并...

    php+jQuery递归调用POST循环请求示例

    4. PHP的json_encode函数:在PHP中,json_encode函数能够把PHP数组或对象转换成JSON格式的字符串。这个功能常用于Web开发中,便于客户端与服务器之间通过JSON格式交换数据。 5. 递归函数的实现:递归是一种常见的...

    Go示例学1

    包括常量、变量、数值类型、数组、字典、函数定义、方法、结构体、闭包、接口、字符串操作、自定义排序、Base64编码、Defer、Exit、for循环、条件判断、JSON支持、状态协程、Panic、range、SHA1散列、字符串与Byte...

    php手册精华总结

    8. **array_merge_recursive**:递归地合并两个或多数组,当遇到相同的键名时,会递归地进行数组合并。 - 参数: - `$a`:第一个数组。 - `$b`:第二个数组。 - 示例代码: ```php $a = ['a' =&gt; 1, 'b' =&gt; ['c...

    139. 单词拆分

    然而,这种方法可能会导致大量的重复计算,因此在处理较长的字符串或字典时,可能会导致性能问题,也就是超时。 为了解决这个问题,我们可以采用动态规划的方法,以提高效率。在`wordBreak`函数中,我们创建了一个...

    golang 每日一题_220实用知识库分享

    本篇文章分享了220个实用的Go语言知识点,涵盖了数组、切片、int8与int32转换、Context、interface、协程、GOMAXPROCS、runtime、range、树遍历、二叉树、字符串、面试题等多个方面的知识点。 1. 数组和切片的区别 ...

    noip模拟测试9题

    3. **字符串处理**:涉及到字符串匹配(KMP算法、Boyer-Moore算法等)、编辑距离、回文判断等。字符串在信息学竞赛中应用广泛,理解字符串操作技巧至关重要。 4. **数学知识**:包括数论(质数、最大公约数、最小公...

    Linux软件下载源码编程文章资料.pdf

    总的来说,这个C语言编写的网络蜘蛛展示了网络爬虫的基本原理和实现方式,包括网络编程、链表数据结构的使用、字符串处理以及递归算法。它为学习者提供了一个实践网络爬虫的起点,同时也提醒我们,实际的网络爬虫...

    Java开发必备基础练习题

    14. **Byte转字符串**(★★):`Byte.toString()`返回字节的字符串表示,如果需要转换为字符,可以使用`Character.toString((char)byteValue)`。 15. **递归算法**(★★):递归是函数或方法直接或间接调用自身的...

    PAT乙级全部题目python代码

    4. **字符串处理**:包括字符串拼接、分割、查找、替换、正则表达式等,常用于处理题目中的文本数据。 5. **数据结构**:如数组、链表、栈、队列、堆、哈希表等,它们在解决各种问题时起着关键作用。 6. **模块...

    WebDownload:递归下载url和链接的urlfiles

    - `Jsoup.parse()`方法用于将HTML字符串解析为`Document`对象,然后可以使用CSS选择器或者DOM遍历来找到链接元素。 3. **递归下载**: - 项目的核心部分是实现递归下载。当找到一个页面的链接时,需要判断是否已...

    JavaScript基础和实例代码

    6.1.1 如何使用String对象方法操作字符串 6.1.2 获取目标字符串长度 6.1.3 连接两个字符串 6.1.4 验证电子邮件地址的合法性 6.1.5 返回指定位置的字符串 6.1.6 在URL中定位字符串 6.1.7 分隔字符串 6.1.8 将字符串...

    源文件程序天下JAVASCRIPT实例自学手册

    6.1.1 如何使用String对象方法操作字符串 6.1.2 获取目标字符串长度 6.1.3 连接两个字符串 6.1.4 验证电子邮件地址的合法性 6.1.5 返回指定位置的字符串 6.1.6 在URL中定位字符串 6.1.7 分隔字符串 6.1.8 将字符串...

    浙大计算机能力测试练习题PAT 1077-1080

    4. **字符串处理**:字符串是编程中的常见数据类型,PAT题目可能包含字符串比较、模式匹配、子串查找等任务。C++中的`string`类提供了丰富的字符串操作方法。 5. **排序算法**:PAT常考排序算法,如冒泡排序、选择...

    PHP file_get_contents函数读取远程数据超时的解决方法

    在PHP编程中,file_get_contents函数是一个常用的函数,用于将整个文件读入一个字符串。由于其使用方便性,file_get_contents函数常被用于读取远程数据,如通过HTTP或FTP协议获取文件内容。然而,在网络状况不佳或...

    NOIP模拟测试题

    3. **字符串处理**:字符串匹配(KMP、Boyer-Moore、Rabin-Karp等)、字符串操作(子串查找、反转、模式匹配等)在信息学竞赛中常出现,掌握字符串处理技巧对于解题至关重要。 4. **数学知识**:整数理论(质因数...

    leetcode不能提交-clang-leetcode:leetcode的实现

    “36还没完”可能是关于判断两个字符串是否为异位词的问题,这通常需要比较两个字符串的字符频率而不需要考虑顺序。可以使用哈希表来存储每个字符串的字符计数,然后比较这两个计数是否相同。 最后,“38还没完”...

    js超时调用setTimeout和间歇调用setInterval实例分析

    当第一个参数是字符串时,实际上是在执行eval函数,这在大多数情况下是不推荐的,因为eval执行代码的性能损耗比较大,而且容易造成安全问题。因此,推荐将第一个参数设置为函数。在全局作用域中执行的setTimeout函数...

    C语言实现网络爬虫.zip

    3. **字符串处理**:C语言中的字符串处理函数,如`strtok`、`strstr`和`strcpy`,在处理网页内容时非常关键。学会有效地操作和处理字符串是编写C语言爬虫的基础。 4. **多线程**:为了提高爬虫的效率,可能需要并行...

Global site tag (gtag.js) - Google Analytics