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

Re:1002求教

Posted by 834208094 at 2012-04-16 10:16:37
In Reply To:1002求教 Posted by:201030720520 at 2011-10-25 19:13:04

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import java.io.*;

public class Main {
	public static List Arrange = new ArrayList();

	public static String changestyle(String str) {

		StringBuffer STR = new StringBuffer(str);
		STR.insert(3, "-");
		return STR.toString();
	}

	public static void divide(int[] i, ArrayList element, ArrayList amount) {
		int competor = i[0];
		int counter = 0;
		element.add(i[0]);
		for (int k = 0; k < i.length; k++) {
			if (i[k] == competor) {
				counter++;
			} else if (i[k] != competor) {
				element.add(i[k]);
				amount.add(counter);
				competor = i[k];
				counter = 1;
			}
		}
		if (i[i.length - 1] == i[i.length - 2]) {
			amount.add(counter);
		} else if (i[i.length - 1] != i[i.length - 2]) {
			amount.add(1);
		}
	}

	public static String GetStr(List bFcontainer) {
		String Str_Tem = "";
		for (int i = 0; i < bFcontainer.size(); i++) {
			Str_Tem += bFcontainer.get(i);
		}
		return Str_Tem;
	}

	public static String addzero(Object  object) {
		int i = 0;
		int Sum = (Integer) object;
		while(Sum != 0) {
			Sum = Sum / 10;
			i++;
		}
		String str = "";
		for(int k=1; k<=7-i; k++) {
			str = str + "0";
		}
		String SUM =  object + "";
		String RETURN = str + SUM;
		return RETURN;
	}
	
	public static void Sort(List<String> list, int[] INTS) {

		for (int i = 0; i < list.size(); i++) {
			INTS[i] = Integer.parseInt(list.get(i));
		}
		Arrays.sort(INTS);

	}

	public static void main(String[] args) {

		ArrayList<String> list = new ArrayList<String>();

		Scanner bf = new Scanner (System.in);

		try{
			bf.nextLine();
		}catch(Exception e) {
			System.out.println("null!");	
		}

		
			if(bf.hasNextLine()) {
			while (bf.hasNextLine()) {
				
				List<Character> BFcontainer = new ArrayList<Character>();
				String BF = bf.nextLine();
				for (int i = 0; i < BF.length(); i++) {
					if (BF.charAt(i) != ' ' && BF.charAt(i) != '-') {
						BFcontainer.add(BF.charAt(i));
					}
				}

				for (int i = 0; i < BFcontainer.size(); i++) {
					if ((Character) BFcontainer.get(i) == 'A'
							|| (Character) BFcontainer.get(i) == 'B'
							|| (Character) BFcontainer.get(i) == 'C') {
						BFcontainer.set(i, '2');
					}
					if ((Character) BFcontainer.get(i) == 'D'
							|| (Character) BFcontainer.get(i) == 'E'
							|| (Character) BFcontainer.get(i) == 'F') {
						BFcontainer.set(i, '3');
					}
					if ((Character) BFcontainer.get(i) == 'G'
							|| (Character) BFcontainer.get(i) == 'H'
							|| (Character) BFcontainer.get(i) == 'I') {
						BFcontainer.set(i, '4');
					}
					if ((Character) BFcontainer.get(i) == 'J'
							|| (Character) BFcontainer.get(i) == 'K'
							|| (Character) BFcontainer.get(i) == 'L') {
						BFcontainer.set(i, '5');
					}
					if ((Character) BFcontainer.get(i) == 'M'
							|| (Character) BFcontainer.get(i) == 'N'
							|| (Character) BFcontainer.get(i) == 'O') {
						BFcontainer.set(i, '6');
					}
					if ((Character) BFcontainer.get(i) == 'P'
							|| (Character) BFcontainer.get(i) == 'R'
							|| (Character) BFcontainer.get(i) == 'S') {
						BFcontainer.set(i, '7');
					}
					if ((Character) BFcontainer.get(i) == 'T'
							|| (Character) BFcontainer.get(i) == 'U'
							|| (Character) BFcontainer.get(i) == 'V') {
						BFcontainer.set(i, '8');
					}
					if ((Character) BFcontainer.get(i) == 'W'
							|| (Character) BFcontainer.get(i) == 'X'
							|| (Character) BFcontainer.get(i) == 'Y') {
						BFcontainer.set(i, '9');
					}
				}

				list.add(GetStr(BFcontainer));
			}
			
			int[] intrs = new int[list.size()];
			ArrayList<Integer> amount = new ArrayList<Integer>();
			ArrayList<Object> element = new ArrayList<Object>();
			Sort(list, intrs);
			divide(intrs, element, amount);
			for(int i=0; i<element.size(); i++) {
				if((Integer)element.get(i) <= 999999) {
					element.set(i, addzero( (element.get(i))));
				}
				else {
					element.set(i, element.get(i).toString());
				}
			}
			ArrayList<Object> answer = new ArrayList<Object>();
			for (int i = 0; i < element.size(); i++) {
				if ((Integer) amount.get(i) != 1) {
					answer.add(changestyle((String)element.get(i)) + " "
							+ amount.get(i));
				}
			}

				System.out.print(answer.get(0));
				for (int i = 1; i < answer.size(); i++) {
					System.out.println();
					System.out.print(answer.get(i));
				}
			}
		else {
			System.out.println("wrong!");	
		}
		} 
}

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