A70785 | 人工智能
来源编程题
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
人胖了就容易打瞌睡,打瞌睡又会导致长胖,这对小X的减重计划很不利,于是小X决定做点动脑子的事来抵御瞌睡虫的进袭,小X决定响应国务院的号召投身到人工智能的研究开发大潮中去,具体研究什么好呢?小X再三思考后决定开发国际象棋的人工智能软件,虽然国际象棋的软件已经能够战胜人类世界冠军了,但那是基于搜索的 AI(AI 是人工智能的简称),小X想写一个基于机器学习的国际象棋 AI,目标是战胜 IBM 的深蓝,小X的国际象棋水平也不差,曾获得过市青少年比赛的冠军,机器学习顾名思义就是让机器像人一样学习,小X首先训练机器学习棋子对棋盘的控制,具体做法是小X先在棋盘上放置若干个车和后,然后让机器判断有多少个格子没有被车和后控制到。
车和后的吃子规则如下:车:横、竖均可以走,步数不受限制,但不能斜着走。后:横、竖、斜都可以走,步数不受限制。无论是车还是后都不能越过棋子去吃子,用作训练的国际象棋棋盘可以放大缩小,并不限于 8 \times 8 的棋盘,车和后所在的位置当然是被控制的,它们能走到的位置也都被控制。
输入格式
第一行包含一个正整数 n,表示棋盘的大小。
接下来 n 行,每行 n 个整数,其中 0 表示棋盘上这个格子为空的,1 表示为车,2 表示为后。
输出格式
一行一个整数,表示没有被控制到的格子数量。
输入输出样例
输入 #1
5 0 0 0 0 0 0 1 0 1 0 0 0 2 0 0 0 1 0 1 0 0 0 0 0 0
输出 #1
4
思路
「人工智能」先读懂题意与样例,判断是模拟、枚举、贪心还是搜索/DP,再分步实现。
步骤
1. 仔细读输入输出与样例,确定数据范围。
2. 选择合适算法并处理边界。
3. 按格式输出,注意多组数据与精度。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?