ccf 201803-4 棋局评估(Python实现)
一、原题
问题描述
试题编号: |
201803-4 |
试题名称: |
棋局评估 |
时间限制: |
1.0s |
内存限制: |
256.0MB |
问题描述: |
问题描述 Alice和Bob正在玩井字棋游戏。
输入格式 输入的第一行包含一个正整数T,表示数据的组数。 输出格式 对于每组数据,输出一行一个整数,表示当前局面的得分。 样例输入 3 样例输出 3 样例说明 第一组数据: Bob已经获胜(如图),此局面得分为-(3+1)=-4。 数据规模和约定 对于所有评测用例,1 ≤ T ≤ 5。 |
二、题解
三、代码
- 以下提交15分:
num = int(input())
content = []
for i in range(num * 3):
content.append(list(map(int, input().split()))) def get_li(li):
i = 0
narray = []
for i in range(num):
narray.append([])
j = i * 3
for j in range(j, j + 3):
narray[i].append(li[j])
return narray def judge(li, u=1):
for i in range(3):
if li[i][0] == li[i][1] == li[i][2] == u:
return True
for i in range(3):
if li[0][i] == li[1][i] == li[2][i] == u:
return True
if li[0][0] == li[1][1] == li[2][2] == u:
return True
if li[2][0] == li[1][1] == li[0][1] == u:
return True
return False def space(li, u=0):
count = 0
for i in range(3):
for j in range(3):
if li[i][j] == u:
count += 1
return count def dfs(li, u):
max1, min1 = -10, 10
if (space(li)) >= 7: return 0
if u == 1 and judge(li, 2):
return -space(li) - 1
if u == 2 and judge(li, 1):
return space(li) + 1
if (space(li) == 0): return 0 for i in range(3):
for j in range(3):
if li[i][j] == 0:
li[i][j] = u
if u == 1:
max1 = max(max1, dfs(li, 2))
else:
min1 = min(min1, dfs(li, 1))
li[i][j] = 0
if u == 1:
return max1
else:
return min1 for i in get_li(content):
print(dfs(i, 1))
以下提交:
最新文章
- set 集合容器实现元素的插入与中序排序
- ORA-12523: TNS: 监听程序无法找到适用于客户机连接的例程
- c中的进制与内存分析
- 机器学习(Machine Learning)&;深度学习(Deep Learning)资料【转】
- APNs功能之Node.js和Mysql应用总结
- Asp.net MVC4 CodeFirst 使用EFTracingProvider
- DL4NLP——词表示模型(二)基于神经网络的模型:NPLM;word2vec(CBOW/Skip-gram)
- (后端)根据查询语句修改的update语句
- iOS7中的多任务 - Background Fetch,Silent Remote Notifications,Background Transfer Service
- 使用Console命令调试JS
- Multiple Object Tracking using K-Shortest Paths Optimization简要
- mvc4验证码&;输出图像的处理方式
- Java中二进制数与整型之间的转换
- k8s的Health Check(健康检查)
- paste,两个文件相同行拼接在一起的shell命令
- SpringMVC中响应json数据(异步传送)
- NET Core+MySql+Nginx
- JSP开发学习参考文章
- Ubuntu | Flask + Gunicorn + Nginx 部署服务器环境
- AndroidAnnotations使用说明书—AndroidAnnotations是怎样工作的?