だれが本当のことを言ったのか,だれが花瓶を割ったのか.


知能推理の問題は次の通りです.
もし次の一人だけが本当のことを言ったら、誰が花瓶を割ったのですか.
シャーク:ジムは花瓶を割った.
トム:シャークは誰が花瓶を割ったか教えてくれます.
エプル:トム、シャークと私は花瓶を割ることはできません.
クリス:花瓶を割っていません.
エリック:シャークは花瓶を割ったので、トムとエプルは花瓶を割ることはできません.
ジム:花瓶を割ったんですが、トムは罪のない人です.
心血来潮、簡単にプログラムで推理して、以下はコードです:

public class dd { 
public static void main(String[] args) { 
  int a, b, c, d, e, f; 
  // a   
  // b   
  // c    
  // d    
  // e    
  // f   
  for (a = 0; a <= 1; a++) 
   for (b = 0; b <= 1; b++) 
    for (c = 0; c <= 1; c++) 
     for (d = 0; d <= 1; d++) 
      for (e = 0; e <= 1; e++) 
       for (f = 0; f <= 1; f++) { 
         if( 
           ( (f==1)&&!(f==1)&&!(b==0&&a==0&&c==0)&&!(d==0)&&!(a==1&&b==0&&c==0)&&!(f==1&&b==0))|| 
           (!(f==1)&& (f==1)&&!(b==0&&a==0&&c==0)&&!(d==0)&&!(a==1&&b==0&&c==0)&&!(f==1&&b==0))|| 
           (!(f==1)&&!(f==1)&& (b==0&&a==0&&c==0)&&!(d==0)&&!(a==1&&b==0&&c==0)&&!(f==1&&b==0))|| 
           (!(f==1)&&!(f==1)&&!(b==0&&a==0&&c==0)&& (d==0)&&!(a==1&&b==0&&c==0)&&!(f==1&&b==0))|| 
           (!(f==1)&&!(f==1)&&!(b==0&&a==0&&c==0)&&!(d==0)&& (a==1&&b==0&&c==0)&&!(f==1&&b==0))|| 
           (!(f==1)&&!(f==1)&&!(b==0&&a==0&&c==0)&&!(d==0)&&!(a==1&&b==0&&c==0)&& (f==1&&b==0)) 
          ){ 
          if(a+b+c+d+e+f==1){ 
          System.out.print(a); 
          System.out.print(b); 
          System.out.print(c); 
          System.out.print(d); 
          System.out.print(e); 
          System.out.print(f); 
          System.out.println(); 
          } 
         } 

       } 

} 
} 

実行結果:
000100
001000
010000 
だからクリス、エプル、トムかもしれない!