Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

1002题解题心得

Posted by johnson4303 at 2009-01-05 11:11:40
首先要考虑输入的电话可能可是以0开头的。如000-4111
其次难的地方就在统计电话出现的次数,这个地方很容易出错,我最后真的不想去统计了,就用了map来搞定它
还有"No duplicates."是一个陷阱,假如你没看见"s"后面还有个句号,你就郁闷去吧。

下面提供统计电话(这里我把电话转成了整数num[i],再对其进行统计)出现次数的程序片段:(这是我在网上搜到的,是能通过的)
	for(int i = 0; i < n;){
		count = 1; //电话出现的次数count
		for(j = i+1; j < n && num[i] == num[j]; j++){
			count++;
		}
		if(count > 1){
			printf("%03d-%04d %d\n", num[i]/10000, num[i]%10000, count); //特别要注意printf里的%03d
			flag = 1;
		}
		i = j;
	}
	if(0 == flag){
		printf("No duplicates.\n");
	}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator