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?官方数据都通过了,也考虑了数据之间有多个空格,求教(付程序)

Posted by fame at 2004-05-03 13:34:44 on Problem 1107
import java.io.*;
import java.util.*;
import java.math.*;
public class Main{
	static int[] k = new int[3];
	public static void main(String[] args) throws Exception{
			BufferedReader stdin = 
            new BufferedReader(
                new InputStreamReader(System.in));
      while(true){
            String s = stdin.readLine();
  	        StringTokenizer st = new StringTokenizer (s, " ");
  			String[] ks = s.split(" ");
  			int i = 0;
  			while(st.hasMoreTokens()){
  				String temp = st.nextToken();
  				if(temp.equals(""))
  					continue;
  				k[i] = Integer.parseInt(temp);
  				i++;
  			}
  	        if(k[0] == 0 && k[1] == 0 && k[2] == 0)
  	        	return;
   	         doit(stdin.readLine());
  	         //doit(m);
        }
   	}	
	private static void doit(String en){
		String[][] g1 = new String[en.length()][2];
		String[][] g2 = new String[en.length()][2];
		String[][] g3 = new String[en.length()][2];
		int ind1 = 0;
		int ind2 = 0;
		int ind3 = 0;
		for(int i = 0; i < en.length(); i++){
			if(en.charAt(i)>='a' && en.charAt(i) <='i'){
				g1[ind1][0] = en.charAt(i)+"";
				g1[ind1][1] = i+"";
				ind1++;
			}
			else if(en.charAt(i)>='j' && en.charAt(i) <='r'){
				g2[ind2][0] = en.charAt(i)+"";
				g2[ind2][1] = i+"";
				ind2++;
			}
			else{
				g3[ind3][0] = en.charAt(i)+"";
				g3[ind3][1] = i+"";
				ind3++;
			}
		}
		String[] result = new String[en.length()];
		String[][] g11 = new String[ind1][2];
		for(int i = 0; i < ind1; i++){
			g11[(i+k[0])%ind1][0] = g1[i][0];
			g11[i][1] = g1[i][1];
		}
		for(int i = 0; i < ind1; i++)
			result[Integer.parseInt(g11[i][1])] = g11[i][0];
		
		String[][] g22 = new String[ind2][2];
		for(int i = 0; i < ind2; i++){
			g22[(i+k[1])%ind2][0] = g2[i][0];
			g22[i][1] = g2[i][1];
		}
		for(int i = 0; i < ind2; i++)
			result[Integer.parseInt(g22[i][1])] = g22[i][0];
		
		String[][] g33 = new String[ind3][2];
		for(int i = 0; i < ind3; i++){
			g33[(i+k[2])%ind3][0] = g3[i][0];
			g33[i][1] = g3[i][1];
		}
		for(int i = 0; i < ind3; i++)
			result[Integer.parseInt(g33[i][1])] = g33[i][0];
		for(int i = 0; i < en.length(); i++)
		System.out.print(result[i]);
		System.out.println();
		
		
	}

}
 

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