Problem 2998 Hardware

SourceCode(Java)


import java.io.*;
import java.util.*;

class Main 
{
	public static String readLine()
	{
		String s = "";int c = -1;	
		try  {
			while(true) 
			{
				c = System.in.read();
				if(c < 0 || c == '\n') break;
 				if(c != '\r') s = s +(char)c;
			}
		} catch(IOException e){return null;}
		if(c < 0 && s.length() == 0) return null;
		return s;
	}

	private static StringTokenizer lex = null;

	public static void main(String[] args) 
	{
		int n = Integer.parseInt(readLine());
		for(int k=0;k<n;k++){
			String sName = readLine();
			String adNum = readLine();
			lex = new StringTokenizer(adNum);
 			int ad = Integer.parseInt(lex.nextToken());
			String[] adress = new String[ad];
			int i=0;
 			while(i < ad)
			{
				lex = new StringTokenizer(readLine());
				if(lex.countTokens() == 1) 
					adress[i++] = lex.nextToken();
				else 
				{
					lex.nextToken();
					Integer init =
						 Integer.parseInt(lex.nextToken());
					int last =
						 Integer.parseInt(lex.nextToken()); 
					int dist =
						   Integer.parseInt(lex.nextToken());
					while(init <= last) 
					{
						adress[i++] = init.toString();
						init += dist;
					}
				}
			}
		
			int[] digit = new int[10];
			int total = 0;
			for(i=0;i<10;i++) digit[i]=0;
			for(i=0;i<ad;i++)
			{
				int s = adress[i].length();
				for(int j=0;j<s;j++){
					digit[adress[i].charAt(j)-'0'] +=1;
					total++;
				}
			}
			System.out.println(sName);
			System.out.println(adNum);
			for(i=0;i<10;i++)
				System.out.println("Make "+digit[i]+" digit "+i);
			if(total == 1) System.out.println("In total 1 digit");
			else System.out.println("In total "+total+" digits");
 		}
 	} 
}
最終更新:2006年09月11日 11:26