/*1)A,B两人至少有1人参加会议;
2)A,E,F 3人中有2人参加会议;
3)B和C两人一致决定,要么两人都去,要么两人都不去;
4)A,D两人中只1人参加会议;
5)C,D两人中也只要1人参加会议;
6)如果D不去,那么E也决定不去*/
package cn.hncu.String;
public class Work {
static boolean a[][]=new boolean[64][6];
public static void main(String[] args) {
inital3();
for(int i=0;i<a.length;i++){
if(!a[i][0]&&!a[i][1]){//1
continue;
}
if(a[i][0]&&a[i][4]&&a[i][5]){//2
continue;
}
if(!a[i][0]&&!a[i][4]&&a[i][5]){
continue;
}
if(!a[i][0]&&a[i][4]&&!a[i][5]){
continue;
}
if(a[i][0]&&!a[i][4]&&!a[i][5]){
continue;
}
//3
if(a[i][1]&&!a[i][2]){
continue;
}
if(!a[i][1]&&a[i][2]){
continue;
}
//4
if(a[i][0]&&a[i][3]){
continue;
}
if(!a[i][0]&&!a[i][3]){
continue;
}
//5
if(a[i][2]&&a[i][3]){
continue;
}
if(!a[i][2]&&!a[i][3]){
continue;
}
//6
if(!a[i][3]&&a[i][4]){
continue;
}
System.out.println(""+a[i][0]+" "+a[i][1]+" "+a[i][2]+" "+a[i][3]+" "+a[i][4]+" "+a[i][5]);
}
}
//法1
private static void inital() {//0表示不去
for(int i=0;i<a.length;i++){
a[i][0]=(i&0x01)==0;
a[i][1]=(i&0x02)==0;
a[i][2]=(i&0x04)==0;
a[i][3]=(i&0x08)==0;
a[i][4]=(i&0x10)==0;
}
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
//法2
private static void inital2() {
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
a[i][j]=(i&pow(j))==0;
}
}
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
//法3
private static void inital3() {
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
a[i][j]=(i&1<<j)==0;
}
}
// for(int i=0;i<a.length;i++){
// for(int j=0;j<a[i].length;j++){
// System.out.print(a[i][j]+" ");
// }
// System.out.println();
// }
}
private static int pow(int j) {
int result=1;
for(int i=0;i<j;i++){
result=result*2;
}
return result;
}
}
2)A,E,F 3人中有2人参加会议;
3)B和C两人一致决定,要么两人都去,要么两人都不去;
4)A,D两人中只1人参加会议;
5)C,D两人中也只要1人参加会议;
6)如果D不去,那么E也决定不去*/
package cn.hncu.String;
public class Work {
static boolean a[][]=new boolean[64][6];
public static void main(String[] args) {
inital3();
for(int i=0;i<a.length;i++){
if(!a[i][0]&&!a[i][1]){//1
continue;
}
if(a[i][0]&&a[i][4]&&a[i][5]){//2
continue;
}
if(!a[i][0]&&!a[i][4]&&a[i][5]){
continue;
}
if(!a[i][0]&&a[i][4]&&!a[i][5]){
continue;
}
if(a[i][0]&&!a[i][4]&&!a[i][5]){
continue;
}
//3
if(a[i][1]&&!a[i][2]){
continue;
}
if(!a[i][1]&&a[i][2]){
continue;
}
//4
if(a[i][0]&&a[i][3]){
continue;
}
if(!a[i][0]&&!a[i][3]){
continue;
}
//5
if(a[i][2]&&a[i][3]){
continue;
}
if(!a[i][2]&&!a[i][3]){
continue;
}
//6
if(!a[i][3]&&a[i][4]){
continue;
}
System.out.println(""+a[i][0]+" "+a[i][1]+" "+a[i][2]+" "+a[i][3]+" "+a[i][4]+" "+a[i][5]);
}
}
//法1
private static void inital() {//0表示不去
for(int i=0;i<a.length;i++){
a[i][0]=(i&0x01)==0;
a[i][1]=(i&0x02)==0;
a[i][2]=(i&0x04)==0;
a[i][3]=(i&0x08)==0;
a[i][4]=(i&0x10)==0;
}
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
//法2
private static void inital2() {
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
a[i][j]=(i&pow(j))==0;
}
}
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
//法3
private static void inital3() {
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
a[i][j]=(i&1<<j)==0;
}
}
// for(int i=0;i<a.length;i++){
// for(int j=0;j<a[i].length;j++){
// System.out.print(a[i][j]+" ");
// }
// System.out.println();
// }
}
private static int pow(int j) {
int result=1;
for(int i=0;i<j;i++){
result=result*2;
}
return result;
}
}