2011年6月19日日曜日

TCO Algorithm Round1

TCO Algorithm Round1(6/19 1:00~3:00)

■TripleStrings(Easy)

キューA,B,Cがある. 最初,キューAには'o'と'x'から構成される文字列(=init)が入っており,キューB,Cは空である. Aからポップした文字は,BとCにプッシュできる. B,Cからポップした文字は,Aにプッシュできる. キューA内の文字列をinitからgoalに変更するためのポップの回数の最小値を返せ.
  1. import java.util.*;  
  2. import java.lang.*;  
  3. import java.math.*;  
  4. import java.io.*;  
  5.   
  6. import static java.lang.Math.*;  
  7. import static java.util.Arrays.*;  
  8.   
  9. public class TripleStrings {  
  10.  // long INF=1L<<48;  
  11.  int INF=1<<28;  
  12.  double EPS=1e-9;  
  13.   
  14.  public int getMinimumOperations(String init, String goal) {  
  15.   int n=init.length();  
  16.   int max=0;  
  17.   for(int j=1;j<=n;j++){  
  18.    boolean f=true;  
  19.    for(int i=0;i<j;i++){  
  20.     f&=init.charAt(n-j+i)==goal.charAt(i);  
  21.    }  
  22.    if(f){  
  23.     max=max(max,j);  
  24.    }  
  25.   }  
  26.   return (n-max)*2;  
  27.  }  
  28.   
  29.  void debug(Object...os){  
  30.   System.err.println(Arrays.deepToString(os));  
  31.  }  
  32.   
  33.  void print(String s){  
  34.   System.out.print(s);  
  35.  }  
  36.   
  37.  void println(String s){  
  38.   System.out.println(s);  
  39.  }  
  40. }  

■Challenge Phase

撃墜無し.Challengeボタンをポチるコンマ数秒前に他の人に撃墜されました.

■Result

o-- +0/-0
232.61pts. 837th

■Rating

1414 -> 1431
残念….

0 件のコメント: