【结论】立体井字棋(jzoj 2124)
立体井字棋
题目大意:
在一个n×n×n的正方体中,由n个格子连成一条直线的方案数(多少种可能用n个格子连成一条直线)
样例输入
2
样例输出
28
数据范围限制
对于30%的数据, n<=10;
对于100%的数据, n <= 1000。
解题思路:
这道题很显然是一道推理题,他有两种方法,我们先讲一下众多人使用的方法一:
首先我们在这个方形外面围上一层正方形(如下图),因为长度两边都加了一,多以大正方形的体积是(n+2)3(n+2)^{3}(n+2)3,而红色部分,原来的正方形体积为n3n^{3}n3,就可以求出外面围了(n+2)3−n3(n+2)^{3}-n^{3}(n+2)3−n3个正方形,然后运用两点确定一条直线的定理,还有把符合题意的每一条线延长可以穿过外面的两个正方形,可以得知符合题意的正方形个数为(n+2)3−n32\frac{(n+2)^{3}-n^{3}}{2}2(n+2)3−n3
本蒟蒻使用的方法二:
把全图的线的种类分为三种(只有一个坐标的差异,两个坐标的差异,三个坐标的差异),然后又可以细分:第一种:从正面,左面,上面各分成4个(n×n个),总共3×n×n个,第二种:从正面两个45度角,侧面两个,上面两个各有n个,总共6n个,第三种:是四个斜对角,就4个
总共3×n×n+6n+43×n×n+6n+43×n×n+6n+4个
#include<cstdio>
#include<iostream>
using namespace std;
int n;
int main()
{scanf("%d",&n);if (n==1) printf("1");//特殊请款else printf("%d",n*n*3+n*6+4);//直接输出return 0;
}
【结论】立体井字棋(jzoj 2124)相关推荐
- 【C语言小游戏】三子棋(井字棋)
hello,csdn的伙伴们,大家好,我们已经学习到了分支与循环,函数,数组这三大块知识,那么我们现在就可以尝试综合运用前面所学的知识,来完成一个简单的小游戏-----三子棋(井字棋) 目录 一.采用 ...
- 极小化极大算法实现井字棋
Minimax算法 Minimax 算法又叫极小化极大算法,是一种找出失败的最大可能性中的最小值的算法.(维基百科) alpha-beta 剪枝 Minimax算法中,由于每个节点都是取的极值,所以可 ...
- java井字棋ai_简单的井字棋 AI DEMO | Minimax 算法
在"类与对象"实训课上,有一道附加题让我们用 OOP 做一个的井字棋模拟程序,要求中电脑是随机落子的,这样显然不是很优雅.回忆起以前学的对抗搜索(这里叫 MaxMin 算法),我继 ...
- LeetCode简单题之找出井字棋的获胜者
题目 A 和 B 在一个 3 x 3 的网格上玩井字棋. 井字棋游戏的规则如下: 玩家轮流将棋子放在空方格 (" ") 上. 第一个玩家 A 总是用 "X" 作 ...
- python井字棋_用Python做一个井字棋小游戏
井字棋是一个经典的小游戏,在九宫格上玩家轮流画OXO,当每列或每行或是两个对角成一线时便是获胜. 今天就用Python编写一个井字棋小游戏,与电脑对战. 程序执行画面如下图所示: 程序提供了两种人工智 ...
- 组合游戏系列5: 井字棋、五子棋AlphaGo Zero 算法实战
来源 | MyEncyclopedia 上一篇我们从原理层面解析了AlphaGo Zero如何改进MCTS算法,通过不断自我对弈,最终实现从零棋力开始训练直至能够打败任何高手.在本篇中,我们在已有的N ...
- python小游戏系列井字棋,儿时的回忆
hello大家好,今天我又发现了个有趣的小玩意.我是专写有趣小玩意的老诗. 相信大家对于井字棋都并不陌生.现在也能找到各种各样的井字棋小游戏玩.那么你们自己是否会编写呢?接下来老诗用python教大家 ...
- php井字游戏,python实现井字棋游戏
#本游戏python3.4.0下编写调试,只能在windows下运行. import random import subprocess import time #定义函数 def draw_board ...
- Minimax 和 Alpha-beta 剪枝算法简介,及以此实现的井字棋游戏(Tic-tac-toe)
前段时间用 React 写了个2048 游戏来练练手,准备用来回顾下 React 相关的各种技术,以及试验一下新技术.在写这个2048的过程中,我考虑是否可以在其中加入一个 AI 算法来自动进行游戏, ...
最新文章
- LAMP+Postfix+Dovecot+Postfixadmin搭建邮件管理系统(四)
- ionic app调试问题
- coding怎么上传项目 mac_临近毕业,做过的项目怎么处理?
- CSDN官方发布的《180道Python面试题,助你一举通过面试》浅析一
- Git多个commit合并成一个【中间提交合并 尾部提交合并】
- java的弱引用_深入理解Java中的弱引用
- 51nod1832(二叉树/高精度模板+dfs)
- 每一个都能笑抽,39个奇葩代码注释
- Spark源码分析之Sort-Based Shuffle读写流程
- Weblogic负载均衡/Session复制之集群架构续
- nginx linux详细安装部署教程,Nginx Linux详细安装及部署实战
- 《人工智能赋能数字水务》白皮书来了!
- 彩灯控制器课程设计vhdl_EDA课程设计:彩灯控制器
- android自定义对号,Android-手势识别(普通手势识别:上 下 左 右 ;自定义手势识别:对号,错号 等)...
- 儿童自行车品牌推荐全球十大儿童山地自行车品牌排行榜
- 教程篇(7.0) 03. FortiGate安全 防火墙策略 ❀ Fortinet 网络安全专家 NSE 4
- iOS 支持webrtc的浏览器 bowser
- 74%的人都在加班!职场人病痛排行榜出炉!
- Y05 - 024、数据的应用①:四则运算、运算优先级
- 计算机c语言lms算法,lms算法(毕业论文).doc
热门文章
- c++ eos智能合约开发_[EOS智能合约]第二节:用EOS开发一个To-do List小应用
- [Java基础]Collection集合
- Go unsafe Pointer
- Caffe 增加自定义 Layer 及其 ProtoBuffer 参数
- Sprig boot自动配置
- F - Colorful Tree(LCA,树上差分,离线处理)
- HDU 5608 function (杜教筛)
- Codeforces Round #632 (Div. 2) C. Eugene and an array 思维 + 前缀和
- 1151 LCA in a Binary Tree 甲级
- 数论分块专题复习(余数求和+模积和+Ice Rain+The Fool)