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に変更するためのポップの回数の最小値を返せ.
import java.util.*;
import java.lang.*;
import java.math.*;
import java.io.*;

import static java.lang.Math.*;
import static java.util.Arrays.*;

public class TripleStrings {
 // long INF=1L<<48;
 int INF=1<<28;
 double EPS=1e-9;

 public int getMinimumOperations(String init, String goal) {
  int n=init.length();
  int max=0;
  for(int j=1;j<=n;j++){
   boolean f=true;
   for(int i=0;i<j;i++){
    f&=init.charAt(n-j+i)==goal.charAt(i);
   }
   if(f){
    max=max(max,j);
   }
  }
  return (n-max)*2;
 }

 void debug(Object...os){
  System.err.println(Arrays.deepToString(os));
 }

 void print(String s){
  System.out.print(s);
 }

 void println(String s){
  System.out.println(s);
 }
}

■Challenge Phase

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

■Result

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

■Rating

1414 -> 1431
残念….

0 件のコメント: