人造人 发表于 2024-2-5 00:47:33

6x6的棋盘有4种情况
我承认这个判断斜角的方法不好,但是我没有好的方法

sh-5.2$ cat main.c
#include <stdio.h>
#include <stdbool.h>

void display(bool array) {
    for(size_t y = 0; y < 6; ++y) {
      for(size_t x = 0; x < 6; ++x) {
            printf("%d ", array);
      }
      puts("");
    }
    puts("");
}

bool check(bool array) {
    for(size_t y = 0; y < 6; ++y) {
      size_t sum = 0;
      for(size_t x = 0; x < 6; ++x) {
            sum += array;
      }
      if(sum > 1) return false;
    }
    for(size_t x = 0; x < 6; ++x) {
      size_t sum = 0;
      for(size_t y = 0; y < 6; ++y) {
            sum += array;
      }
      if(sum > 1) return false;
    }
    for(size_t y = 0; y < 11; ++y) {
      size_t sum = 0;
      for(size_t x = 0, ny = y; x < 6; ++x, ++ny) {
            if(ny < 5) continue;
            if(ny >= 11) continue;
            sum += array;
      }
      if(sum > 1) return false;
    }
    for(size_t y = 0; y < 11; ++y) {
      size_t sum = 0;
      for(size_t x = 5, ny = y; x < 6; --x, ++ny) {
            if(ny < 5) continue;
            if(ny >= 11) continue;
            sum += array;
      }
      if(sum > 1) return false;
    }
    return true;
}

void chess(bool array, size_t y) {
    if(y == 6) {
      if(check(array)) display(array);
      return;
    }
    for(size_t x = 0; x < 6; ++x) {
      array = true;
      chess(array, y + 1);
      array = false;
    }
}

int main(void) {
    bool array = {false};
    chess(array, 0);
    return 0;
}
sh-5.2$ ./main
0 1 0 0 0 0
0 0 0 1 0 0
0 0 0 0 0 1
1 0 0 0 0 0
0 0 1 0 0 0
0 0 0 0 1 0

0 0 1 0 0 0
0 0 0 0 0 1
0 1 0 0 0 0
0 0 0 0 1 0
1 0 0 0 0 0
0 0 0 1 0 0

0 0 0 1 0 0
1 0 0 0 0 0
0 0 0 0 1 0
0 1 0 0 0 0
0 0 0 0 0 1
0 0 1 0 0 0

0 0 0 0 1 0
0 0 1 0 0 0
1 0 0 0 0 0
0 0 0 0 0 1
0 0 0 1 0 0
0 1 0 0 0 0

sh-5.2$

cjjJasonchen 发表于 2024-2-5 09:58:08

听不懂c/c++ 只会python

鱼小二 发表于 2024-2-15 05:45:45

{:7_113:}

鱼小二 发表于 2024-2-15 05:49:57

帖子排版不错滴,中英文标点符号能改进更棒!!

尹玄睿 发表于 2024-2-21 11:09:21

阿萨德

一只藏狐 发表于 2024-2-21 13:43:08

感谢讲解

闪光少年 发表于 2024-2-26 23:05:12

学习编程中的Ben 发表于 2024-2-4 21:12
@yinda_peng @人造人 @sfqxx @歌者文明清理员 @alwonwang @zhangchenyvn @zhangjinxuan

新年快乐

向鱼C学习123 发表于 2024-2-28 22:01:48

good

hveagle 发表于 2024-3-2 08:56:29

{:9_236:}

李志威 发表于 2024-3-16 09:51:43

感谢感谢

陈勃 发表于 2024-3-19 11:35:08

{:10_275:}

shuaiser 发表于 2024-4-12 15:31:26

加油

1101378861 发表于 2024-7-25 09:20:51


学习一下
页: 1 [2]
查看完整版本: 新手必看·DFS快速入门(鱼币~~~)