PKU 3656 Rock Skipping

http://poj.org/problem?id=3656
石投げのコンテストで最も強い投げ方を答えろというような問題。

始点と間隔から水につく回数を出す関数がおかしくなっていて、かなりWAりました。
オーダーを下げるために試行錯誤する問題よりは、こういうもののほうが自分にはしょうにあっている気がします。

string in;

PI get(int s,int d){
  PI ret(0,s);
  for(;ret.S<SZ(in);ret.S+=d){
    if(in[ret.S]=='.')ret.F++;
    else break;
  }
  if(ret.S>=SZ(in))ret.S-=d;
  return ret;
}

main(){
  while(getline(cin,in)){
    if(in=="END")break;
    PI ans(0,-SZ(in)),tmp(-1,-1);
    rep(i,SZ(in)){
      rep(j,SZ(in)){
        PI tt=get(i,j+1);
        if(tmp<tt){
          tmp=tt;
          ans=mp(i,-j-1);
        }else if(tmp==tt && ans<mp(i,-j-1)){
          ans=mp(i,-j-1);
        }
      }
    }
    cout<<ans.F<<' '<<-ans.S<<endl;
  }
}