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

TLE Problem, Help-- Thanks,

Posted by KysShadow at 2006-08-19 16:32:14 on Problem 1002
#pragma warning (disable : 4786)

#include <algorithm>
#include <iostream>
#include <string>

using namespace std;

string a[100002];
int n;

string Translate(string str) {
	int i;
	string New = "";

	for(i = 0; i < str.length(); i++) {
		switch(str[i]) {
		case 'A': case 'B': case 'C':
			New += "2";
			break;
		case 'D': case 'E': case 'F':
			New += "3";
			break;
		case 'G': case 'H': case 'I':
			New += "4";
			break;
		case 'J': case 'K': case 'L':
			New += "5";
			break;
		case 'M': case 'N': case 'O':
			New += "6";
			break;
		case 'P': case 'R': case 'S':
			New += "7";
			break;
		case 'T': case 'U': case 'V':
			New += "8";
			break;
		case 'W': case 'X': case 'Y':
			New += "9";
			break;
		case '-':
			break;
		default:
			New += str[i];

			break;
		};
	}

	return New;
};

void input() {
	int i;

	cin >> n;
	for(i = 1; i <= n; i++) {
		cin >> a[i];

		a[i] = Translate(a[i]);
	}
}

bool operator<(const string &t1, const string &t2) {
	return t1 < t2;
}

void output() {
	int i, j;

	i = 1;
	while(1) {
		if(i > n)
			break;

		j = i + 1;
		for(;; j++) {
			if(a[j] != a[i])
				break;
		}

		if(j - i >= 2)
			cout << a[i][0] << a[i][1] << a[i][2] << '-' << a[i][3] << a[i][4] << a[i][5] << a[i][6] << ' ' << j - i << '\n';

		i = j;
	}
}

int main() {
	input();
	sort(a + 1, a + n + 1);
	output();

	return 0;
}

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