2018.10.4二连爆搜+再次出锅

Posted scx2015noip-as-php

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018.10.4二连爆搜+再次出锅相关的知识,希望对你有一定的参考价值。

T1:五子棋

【题目描述】

五子棋是世界智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏。通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连珠者获胜。

五子连珠是在 横线,纵线,斜线,反斜线 四个方向上形成五子及以上的连线,当出现多于五子的连珠时,也只记为一次五子连珠

五子连珠总数. 等于棋局中的所有方向上的五子连珠连线的数量之和。我们想知道,给定一个长宽皆为 n 的棋局,白棋落在哪些点可以增加白棋五子连珠总数?对增加白棋五子连珠总数的举例说明 (A 点为我们选择的落点):

1   wwwwAbbbb

落白棋之前未形成五子连珠,落入白棋之后,五子连珠总数加一,满足要求。

2   wwwwwAbbbb

落白棋之前已经形成五子连珠,落白棋之后,五子连珠总数不变,不满足要求。

3   wwwwwAwwwww

落白棋之前五子连珠总数为二,落入白棋之后,两边连成一线,五子连珠总数减

一,不满足要求。

4

*w***w*****

**w**w*****

***w*w*****

****ww*****

wwwwwAwwwww

落白棋之前五子连珠总数为二。落入白棋之后,两边连成一线,斜向和纵向形成新的五子连珠,总数为三。五子连珠总数加一,这个点满足要求。

【输入格式】

从文件 wuzi.in 中读入数据。输入为第一行为一个数字 n(n ≤ 40),表示棋盘大小。接下来的 n 行,每行为 n 个字符,可能有三种字符,*表示无棋子,b表示黑棋,

w表示白棋。输入棋局中可能已经有五子连珠的情况,我们需要计算能增加白棋五子连珠总数的白棋落点。

【输出格式】

输出到文件 wuzi.out 中。输出为 k 行,包括 k 个满足要求的落点,k 个点按照从左至右,从上至下的顺序输出,即先按行排序,再按列排序输出。

每行为一个点坐标 $(x,y)$,分别表示列坐标,行坐标,以空格分隔,坐标序号从0开始,棋盘左上角为原点。

*a***

*****

*****

*****

***b*

图中 a 点的坐标为 $(1,0)$,b 点的坐标为 $(3,4)$。

【样例输入】

8

****b*bb

*****b*b

bb*bbbw*

w*wbwwww

bwwbwwbw

ww**wbbw

*bww***w

***bwb*b

【样例输出】

7 2

2 5

3 5

4 6

2 7

【子任务】

共20组数据

1,2 没有满足要求的点
3,4,5,6,7,8 只需要计算横纵方向, 棋局中不存在旧的五子连珠
9,10,11,12,13,14 需要计算所有方向, 棋局中不存在旧的五子连珠
15,16,17,18,19,20 盘面上存在旧的五子连珠


 只考虑中间隔一个点的连棋,所以直接爆搜,判各个方向的情况。

 

T2:Equation

【题目描述】

给定一个等式,其格式为 $p ? q = r$,其中 $1≤ p,q,r < 10^9$,算符 ? 可以是 +、- 或 *(表示乘法)。

$p$,$q$ 和 $r$ 中的某些数字被替换成了大写字母,例如 $A09+ C0B = 6AC$。你的任务是找出所有大写字母代表的数字,使得等式成立。

你需要遵循下列规则:

1. 相同的字母替换成相同的数字,不同的字母替换成不同的数字

2. $p$、$q$ 和 $r$ 不能以$0$开头。称两个方案不同,如果存在一个字母被替换成了不同的数字。考虑到方案数可能很多,你只需要输出合法方案的数量。注意如果没有方法使得等式成立,你应该输出$0$。

【输入格式】

从文件 equation.in 中读入数据。

输入只有一行,表示需要处理的等式。保证最多只有9个不同的字母,等式中不会出现空格。

【输出格式】

输出到文件 equation.out 中。

输出一个整数,表示方案的数量。

【样例1输入】

A09+C0B=6AC

【样例1输出】

1

【样例1解释】

唯一合法的方案是109+506=615。

【样例2输入】

P*Q=P

【样例2输出】

8

【样例3输入】

CANADA-MAR8=CCC

【样例3输出】

0

【子任务】

总共有 10 个测试点。

对于测试点1∼3,等式中最多有3个不同的字母。

对于测试点1、2、4、7和8,? 只可能是 + 或 -。

对于测试点1、4、5和6,每个字母只会出现一次。

以上是关于2018.10.4二连爆搜+再次出锅的主要内容,如果未能解决你的问题,请参考以下文章

小木棍 爆搜剪枝

hdu 5506 GT and set(dfs爆搜)

hdu 5031 Lines 爆搜

Bandwidth(爆搜)

P1074 靶形数独(爆搜)

hdu5355 思维+爆搜