# Poj Solution 1244

```http://poj.org/problem?id=1244

//* @author popop0p0popo
import java.util.*;
import java.io.*;

public class Main{
public static void main(String[] args) throws Exception{
int n,flag;
String line,r;
char c;
int[] idx;
while (true){
n=scanner.nextInt();
if (n==0){
break;
}
line=scanner.next();
r="";
for (int i=0;i< 26 ;i++ ){
c=(char) ('a'+i);
idx=new int[n];
flag=0;
while (line.indexOf(c)!=-1){
idx[flag]=line.indexOf(c);
flag++;
line=line.replaceFirst(""+c,"#");
}
if (flag>=3){
if (isD(idx,flag)){
r=r+c;
}
}
}
if (r.equals("")){
System.out.println("LOOOOOOOOSER!");
}
else{
System.out.println(r);
}
}
}

public static boolean isD(int[] idx,int flag){
int a,b,c;
int aa,bb,cc;
int[] iidx=new int[3];
boolean f,ff1,ff2;
for (int i=0;i< flag-2 ;i++ ){
for (int j=i+1;j< flag-1 ;j++ ){
for (int k=j+1;k< flag ;k++ ){
a=getP(idx[i])-1;
b=getP(idx[j])-1;
c=getP(idx[k])-1;
aa=getL(idx[i]);
bb=getL(idx[j]);
cc=getL(idx[k]);
if (3*(a-b)*(a-b)+(aa-bb)*(aa-bb)==3*(a-c)*(a-c)+(aa-cc)*(aa-cc)&&
3*(c-b)*(c-b)+(cc-bb)*(cc-bb)==3*(a-c)*(a-c)+(aa-cc)*(aa-cc)){
return true;
}
}
}
}
return false;
}

public static int getP(int n){
int flag=1;
while (true){
if (n<=(flag)*(flag+1)/2-1){
return flag;
}
flag++;
}
}

public static int getL(int n){
int p=getP(n);
int a=n-p*(p-1)/2;
if (p%2==0){
return 2*a-p+1;
}
else{
return 2*(a-p/2);
}
}
}

```
This entry was posted in poj. Bookmark the permalink.