`

【水题+字符串】杭电 hdu 1228 A + B

    博客分类:
  • ACM
阅读更多

/* THE PROGRAM IS MADE BY PYY */
/*----------------------------------------------------------------------------//
    Copyright (c) 2012 panyanyany All rights reserved.

    URL   : http://acm.hdu.edu.cn/showproblem.php?pid=1228
    Name  : 1228 A + B

    Date  : Wednesday, February 08, 2012
    Time Stage : half an hour

    Result:                                                                                                                                                                                                                                                                                                                                              
5328538	2012-02-08 11:53:44	Accepted	1228
0MS	152K	2470 B
C++	pyy


Test Data :

Review :
偶尔做一做简单题~~要注意zero zero + zero zero = 的情况
//----------------------------------------------------------------------------*/

#include <cstdio>
#include <stdlib.h>
#include <string.h>
#include <math.h>

#include <algorithm>
using namespace std ;

#define MEM(a, v)		memset (a, v, sizeof (a))	// a for address, v for value
#define max(x, y)		((x) > (y) ? (x) : (y))
#define min(x, y)		((x) < (y) ? (x) : (y))

#define INF		(0x3f3f3f3f)
#define MAXN	(103)
#define MAXE	(MAXN*(MAXN-1)/2)

#define DEBUG	/##/

// 字符串转为数字
inline int getint (char *sz)
{
	int i = -1 ;
	if (!strcmp (sz, "zero"))
		i = 0 ;
	else if (!strcmp (sz, "one"))
		i = 1 ;
	else if (!strcmp (sz, "two"))
		i = 2 ;
	else if (!strcmp (sz, "three"))
		i = 3 ;
	else if (!strcmp (sz, "four"))
		i = 4 ;
	else if (!strcmp (sz, "five"))
		i = 5 ;
	else if (!strcmp (sz, "six"))
		i = 6 ;
	else if (!strcmp (sz, "seven"))
		i = 7 ;
	else if (!strcmp (sz, "eight"))
		i = 8 ;
	else if (!strcmp (sz, "nine"))
		i = 9 ;

	return i ;
}

void scan_two (int &a, int &b)
{
	char sz[100], num[100] ;
	int t, shift ;
	// 获得整行
	gets (sz) ;
	// get a
	a = 0 ;
	shift = 0 ;
	while (1) 
	{
		// 跳过多余的空格
		while (*(sz+shift) == ' ')
			++shift ;
		// 提取一个单词
		sscanf (sz + shift, "%s", num) ;
		// 计算位移
		shift += strlen (num) ;
		if ((t = getint(num)) == -1) // 遇到'+'或'='则跳出
			break ;
		a = a * 10 + t ;
	}
	
	b = 0 ;
	while (1)
	{
		while (*(sz+shift) == ' ')
			++shift ;
		sscanf (sz + shift, "%s", num) ;
		shift += strlen (num) ;
		if ((t = getint (num)) == -1)
			break ;
		b = b * 10 + t ;
	}
}

int main ()
{
	int a, b ;
	while (scan_two(a, b), a | b)
	{
		printf ("%d\n", a + b) ;
	}
	return 0 ;
}

0
0
分享到:
评论

相关推荐

    杭电HDU ACM培训课件

    《杭电HDU ACM培训课件》是一份珍贵的学习资源,源自杭州电子科技大学的ACM竞赛培训课程。这些课件是官方论坛上分享的,旨在为那些积分不足无法获取资源或者对ACM编程竞赛感兴趣的初学者提供帮助。下面将详细阐述这...

    杭电HDU2050题的ac程序

    一个十分简单的程序,能够ac杭电hdu的第2050题,无注释,简单明了

    计算机网络复习大纲_杭电hdu.pdf

    计算机网络复习大纲_杭电hdu.pdf

    杭电HDU ACM 1005

    杭电ACM1005题源代码,AC了的程序,无问题……

    计算机网络复习大纲_杭电hdu整理.pdf

    计算机网络复习大纲_杭电hdu整理.pdf

    计算机网络复习大纲_杭电hdu参考.pdf

    计算机网络复习大纲_杭电hdu参考.pdf

    杭电ACMhdu1163

    3. **字符串处理**:杭电ACM中的题目可能涉及到字符串匹配(KMP算法、Boyer-Moore算法)、编码解码、模式查找等问题,熟悉字符串操作是必备技能。 4. **数学应用**:很多ACM题目需要应用到基础数学知识,例如数论...

    acm课件简单数学题(杭电)(HDU)

    本课件"acm课件简单数学题(杭电)(HDU)"正是针对这一领域的一份宝贵资源,旨在提升参赛者解决数学问题的能力,从而在ACM竞赛中提高AC(Accepted,即正确解答)题目的效率。 课件中包含的“简单数学题090223.ppt...

    hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj

    【标题】"hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj" 提供的信息是关于一个压缩文件,其中包含了一个名为 "HDU 1089.cpp" 的源代码文件,这个文件是为了解决杭州电子科技大学(Hangzhou Dianzi ...

    杭电操作系统实验 HDU操作系统实验.zip

    杭电操作系统实验 HDU操作系统实验.zip杭电操作系统实验 HDU操作系统实验.zip杭电操作系统实验 HDU操作系统实验.zip杭电操作系统实验 HDU操作系统实验.zip杭电操作系统实验 HDU操作系统实验.zip杭电操作系统实验 HDU...

    hdu_ACM.rar_ACM_hdu_hdu acm_hdu_ACM_杭电ACM

    杭电hdu acm资料所用杭电的acm题

    HDU杭电 计算机网络实验报告

    这份"HDU杭电 计算机网络实验报告"压缩包提供了丰富的实验材料,涵盖了多个关键的网络技术,包括交换机配置、路由协议、地址转换(NAT)、访问控制列表(ACL)以及动态主机配置协议(DHCP)等。以下是这些实验报告所...

    acm课件动态规划题(杭电)(HDU)

    本资源“acm课件动态规划题(杭电)(HDU)”显然是针对这个领域的训练材料,特别适合于提升ACM竞赛选手在解决动态规划题目上的能力。杭州电子科技大学(Hangzhou Dianzi University, 简称HDU)是知名的在线编程竞赛...

    ACM入门十题(杭电oj)

    ### Hdu1002:字符串加法 这是一道关于字符串操作和大数加法的题目。由于整型变量可能不足以存储非常大的数字,因此使用字符串来表示大数,通过字符数组进行位运算实现加法。代码中首先将输入的两个字符串转换成...

    杭电水题,javaACM基础入门

    "杭电水题"是杭州电子科技大学编程竞赛中的一系列基础题目,适合初学者进行练习,以提升Java编程和算法理解。 一、Java语言基础 1. 类与对象:在Java中,一切皆为对象。理解类的定义、对象的创建以及成员变量和...

    计算机网络复习大纲_杭电hdu借鉴.pdf

    计算机网络是信息技术领域的重要组成部分,它涉及到数据的传输、交换和资源共享。本复习大纲主要涵盖了计算机网络的基础概念、体系结构、通信方式以及不同类型的网络。 首先,计算机网络的五层协议体系机构是理解...

    ACM HDU题目分类

    字符串处理是 ACM HDU 题目分类中的一大类,例如,1020 简单的字符串处理;1048 简单字符串处理;1062 简单字符串处理;1073 字符串处理 等等。 其他 除了以上分类外,ACM HDU 题目分类还包括其他一些分类,例如,...

Global site tag (gtag.js) - Google Analytics