涂颜色的RPG问题】的更多相关文章

长度为n的方格,刷3种颜色的颜料,相邻的方格颜料颜色不能相同,且首尾方格颜色不能相同.每个方格必须涂色.计算一共有多少种涂色方式. 解题思路:(1)f(1)=3,f(2)=6,f(3)=6 (2)如果有n个方格,当对第n个方格填色时,有两种情况: 1)应该已经对前面n-1个方格填好了色,有f(n-1)种情况,此时第n-1个跟第一个颜色一定不一样,所以第n个只有一种选择. 2)对前面n-2个方格填好色,有f(n-2)种情况,第n-1个空格颜色跟第一个颜色一样(否则就成了上面那种情况了),只有一种可…
P1162 填涂颜色 题目描述 由数字0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向.现要求把闭合圈内的所有空间都填写成2.例如:6X6的方阵(n=6),涂色前和涂色后的方阵如下: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 1 0 0 1 0 1 1 2 2 1 1 1 0 0 0 1 1 1 2 2 2 1 1 0 0 0 0 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1…
P1162 填涂颜色 https://www.luogu.com.cn/problem/P1162 qaq搜索好抽象啊,蒟蒻表示难以理解,搞半天才做出来一道题,很挫败www 思路 染色法.找墙壁外的连通块0,染成新颜色. 注意边界问题:为了照顾到边缘的连通块,我们的范围要设置为0 ~ n + 1 代码 #include <iostream> #include <algorithm> #include <queue> using namespace std; const…
链接:https://ac.nowcoder.com/acm/contest/330/E 来源:牛客网 题目描述 精通程序设计的 Applese 叕写了一个游戏. 在这个游戏中,有一个 n 行 m 列的方阵.现在它要为这个方阵涂上黑白两种颜色.规定左右相邻两格的颜色不能相同.请你帮它统计一下有多少种涂色的方法.由于答案很大,你需要将答案对 109+7109+7 取模. 输入描述: 仅一行两个正整数 n, m,表示方阵的大小. 输出描述: 输出一个正整数,表示方案数对 109+7109+7 取模.…
链接:https://ac.nowcoder.com/acm/contest/330/E来源:牛客网 题目描述 精通程序设计的 Applese 叕写了一个游戏. 在这个游戏中,有一个 n 行 m 列的方阵.现在它要为这个方阵涂上黑白两种颜色.规定左右相邻两格的颜色不能相同.请你帮它统计一下有多少种涂色的方法.由于答案很大,你需要将答案对 109+7109+7 取模. 输入描述: 仅一行两个正整数 n, m,表示方阵的大小. 输出描述: 输出一个正整数,表示方案数对 109+7109+7 取模.…
链接:https://ac.nowcoder.com/acm/contest/330/E 精通程序设计的 Applese 叕写了一个游戏. 在这个游戏中,有一个 n 行 m 列的方阵.现在它要为这个方阵涂上黑白两种颜色.规定左右相邻两格的颜色不能相同.请你帮它统计一下有多少种涂色的方法.由于答案很大,你需要将答案对 109+7 由于左右不蹦相邻 ,所以第一列固定 就固定了. 答案2^n 但是n特别大,用到了费马小定理 如果 p为质数 an%mod = a  n%(p-1)%mod 然后 快速幂即…
链接:https://ac.nowcoder.com/acm/contest/330/E 来源:牛客网 题目描述 精通程序设计的 Applese 叕写了一个游戏. 在这个游戏中,有一个 n 行 m 列的方阵.现在它要为这个方阵涂上黑白两种颜色.规定左右相邻两格的颜色不能相同.请你帮它统计一下有多少种涂色的方法.由于答案很大,你需要将答案对 109+7109+7 取模. 输入描述: 仅一行两个正整数 n, m,表示方阵的大小. 输出描述: 输出一个正整数,表示方案数对 109+7109+7 取模.…
链接:https://ac.nowcoder.com/acm/contest/330/E 来源:牛客网 题目描述 精通程序设计的 Applese 叕写了一个游戏. 在这个游戏中,有一个 n 行 m 列的方阵.现在它要为这个方阵涂上黑白两种颜色.规定左右相邻两格的颜色不能相同.请你帮它统计一下有多少种涂色的方法.由于答案很大,你需要将答案对 109+7109+7 取模. 输入描述: 仅一行两个正整数 n, m,表示方阵的大小. 输出描述: 输出一个正整数,表示方案数对 109+7109+7 取模.…
这应该是是第一次记录洛谷题库里的题目吧: 题目描述 由数字00组成的方阵中,有一任意形状闭合圈,闭合圈由数字11构成,围圈时只走上下左右44个方向.现要求把闭合圈内的所有空间都填写成22.例如:6 \times 66×6的方阵(n=6n=6),涂色前和涂色后的方阵如下: 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 2 2 1 1 1 2…
题目描述 由数字0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向.现要求把闭合圈内的所有空间都填写成2.例如:6X6的方阵(n=6),涂色前和涂色后的方阵如下: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 1 0 0 1 0 1 1 2 2 1 1 1 0 0 0 1 1 1 2 2 2 1 1 0 0 0 0 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 输入输出格式…
题目链接:https://www.luogu.org/problemnew/show/P1162 题目描述由数字0组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向.现要求把闭合圈内的所有空间都填写成2.例如:6×6的方阵(n=6),涂色前和涂色后的方阵如下:填涂前:0 0 0 0 0 00 0 1 1 1 10 1 1 0 0 11 1 0 0 0 11 0 0 0 0 11 1 1 1 1 1填涂后:0 0 0 0 0 00 0 1 1 1 10 1 1 2 2…
题目链接:https://www.luogu.org/problemnew/show/P1162 题目描述 由数字 0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字 1 构成,围圈时只走上下左右 4 个方向.现要求把闭合圈内的所有空间都填写成 2 .例如: 6 ×6 的方阵( n=6 ),涂色前和涂色后的方阵如下: 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1…
题目链接:传送门 思路: 考虑每一列有2种颜色,总共有n行,每一行的第一个格确定颜色,由于左右颜色不相同,后面的行就确定了. 所以总共有2^n中结果. 由于n太大,所以要用到费马小定理a^n%mod=a^(n%(mod-1))%mod,所以先求出a的指数,然后用快速幂求解就好了. #include<iostream> #include<cstdio> #include<cstring> #include<cmath> typedef long long LL…
题目描述 由数字0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向.现要求把闭合圈内的所有空间都填写成2.例如:6X6的方阵(n=6),涂色前和涂色后的方阵如下: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 1 0 0 1 0 1 1 2 2 1 1 1 0 0 0 1 1 1 2 2 2 1 1 0 0 0 0 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 输入输出格式…
https://www.luogu.org/problem/show?pid=1162 题目描述 由数字0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向.现要求把闭合圈内的所有空间都填写成2.例如:6X6的方阵(n=6),涂色前和涂色后的方阵如下: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 1 0 0 1 0 1 1 2 2 1 1 1 0 0 0 1 1 1 2 2 2 1 1 0 0 0 0 1…
题目描述 由数字00组成的方阵中,有一任意形状闭合圈,闭合圈由数字11构成,围圈时只走上下左右44个方向.现要求把闭合圈内的所有空间都填写成22.例如:6 \times 66×6的方阵(n=6n=6),涂色前和涂色后的方阵如下: 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 2 2 1 1 1 2 2 2 1 1 2 2 2 2 1 1 1…
这还是一个搜索题,难度较低,但我提交第三次才AC.. 观察0地图左上角的上面和左面都是一,所以先把他找粗来,然后设成start,然后dfs找到与他联通的块,涂成2即可.再说一下自己犯的低级错误:1.当找到坐上角时,必须先break掉里面的for,然后bool变量必须放在第一个for的里面,但我放在了上面,,,2.找到开始坐标后先打上标记.3.忘记加dfs(tx,ty)了 1.预处理正确性需要保证,低级错误要手动避免 2.再去练习难度较大的搜索题目 3.寻找好条件的客观规律,然后去解决 4.提交的…
思路:看了看数据n<=30,于是我们可以暴力求解(主要是BFS学的不咋地~2333).枚举每个0的位置,看上下左右四个方向上是否都有1.都有1的话说明被1包围,即在闭合圈的内部,开个数组标记一下,最后判断是否被标记输出即可.另外,我们可以手动给数组增加两个宽度,这样就不需要特判边界了~ 题目描述 由数字00组成的方阵中,有一任意形状闭合圈,闭合圈由数字11构成,围圈时只走上下左右44个方向.现要求把闭合圈内的所有空间都填写成22.例如:6 \times 66×6的方阵(n=6n=6),涂色前和涂…
原题链接 https://www.luogu.org/problemnew/show/P1162 一道很水很简单的搜索题,好吧我还是交了4次才过的...... 说一下简单的思路: 首先输入n*n的矩阵,包含0和1,存入map数组里: 然后我们在开一个a数组,可以对它进行如下编译:如果map数组对应的元素为1,则a数组存1,其余的存0: ;i<=n;i++) ;j<=n;j++) { cin>>map[i][j]; ) a[i][j]=; ; } 既然有且仅有一个环形闭合圈,那么我们…
(今天yy出奇的不活泼,认真的吓人) [传送门] 算法标签: 思路啊qwq: part1: 想法是先暴搜出每一行的1,取最前方一个1和最后方一个1,然后中间的0填上色,80分,因为没有考虑到“00011100101”这样类似的的情况. #include<iostream> #include<cstring> #include<algorithm> #include<cstdio> #include<queue> #include<cmath…
题目链接:https://www.luogu.org/problemnew/show/P1162 题意: 有一个0和1组成的矩阵,一些1组成一个闭合圈,圈住一些0,现在要把被圈住的这些0变成2输出. 思路: bfs,判断每个0可以到达的边界. 如果这个0是可以到达矩阵的边界的说明没有被圈住. bfs时不把1加入队列,如果最后也不能到达边界说明是被圈住的,变成2就行了. #include<stdio.h> #include<stdlib.h> #include<map>…
https://www.luogu.org/problem/show?pid=1162 //其实很简单的吧 //就是最外圈加一圈0 ,然后把外圈里面的0都遍历了 //剩下的0 就变成2 就行了 #include<bits/stdc++.h> using namespace std; typedef pair <int,int> pii; ][]; ][]; ,,,}; ,-,,}; bool check(int x,int y) { && x>= &&…
题目链接:https://www.luogu.org/problemnew/show/P1162 这道题是LITTLESUN写的第一道BFS哦! 对于这道题的的思路是把封闭图形外边的0标记一边,在最后输出的时候把没有标记过的0输出为2,其他按照原图输出. 对于这道题的的边界有两种判断方式.第一种是在原图外面加一圈0 AC代码如下: #include<iostream> #include<cstdio> #include<cstring> #include<cmat…
看到题目规模是n(1≤n≤30)即最大规模为30*30 本蒟蒻有个奇妙的想法!! 核心思路:搜索地图内除开被1包围着的0,并标注为1(即不填色) !!!那么,我们可以从每一个边界点开始去搜索 话不多说,直接上代码 #include<iostream> #include<cstdio> using namespace std; int n; int map[35][35]; int vis[35][35]; int mov1[]={1,0,0,-1}; int mov2[]={0,1…
https://www.luogu.org/problemnew/show/P1162 在外面加一圈0把0连起来,然后把所有0换成2,再从(0,0)把连通的2全部改回来. 这也是一个判断内外圈的好办法. 简单的搜索都不要写广搜. #include<bits/stdc++.h> using namespace std; #define ll long long ][]; ,,,}; ,-,,}; int n; void dfs(int i,int j){ //cout<<i<&…
解题报告:有n(1<=n<=4)个立方体,每个立方体的每一个面涂有一种颜色,现在要将这些立方体的某些面的颜色重新涂一下,使得这n个立方体旋转到某一种状态下,对应的面的颜色都相同. 这题可以用暴力.现在首先要研究的是一个立方体可以有多少种旋转的方式,假设经过一次旋转之后,立方体变成一种新的状态,我们把这种状态叫做姿态,题目中将每个面编了号,我们可以这样来说明一种姿态,就是说假设上面的那个面的编号为x,并且前面的那个编号为y,这样就可以唯一地确定这种姿态了,假设把题开始的那种状态向左转一次,那么…
[BZOJ2303][Apio2011]方格染色 试题描述 Sam和他的妹妹Sara有一个包含n × m个方格的 表格.她们想要将其的每个方格都染成红色或蓝色. 出于个人喜好,他们想要表格中每个2 ×   2的方形区 域都包含奇数个(1 个或 3 个)红色方格.例如,右 图是一个合法的表格染色方案(在打印稿中,深色代 表蓝色,浅色代表红色) . 可是昨天晚上,有人已经给表格中的一些方格染上了颜色!现在Sam和Sara 非常生气.不过,他们想要知道是否可能给剩下的方格染上颜色,使得整个表格 仍然满…
Paint Pearls Problem Description   Lee has a string of n pearls. In the beginning, all the pearls have no color. He plans to color the pearls to make it more fascinating. He drew his ideal pattern of the string on a paper and asks for your help. In e…
2016-08-15 题意:一面墙,往上面贴海报,后面贴的可以覆盖前面贴的.问最后能看见几种海报. 思路:可以理解成往墙上涂颜色,最后能看见几种颜色(下面就是以涂色来讲的).这面墙长度为1~1000 0000,一千万,确实很大.暴力的话肯定不行,除非..( you know). 正确的解法是用线段树,不过还得加上离散化,因为数据太大10000000啊. 先说一下离散化,这个其实就是压缩,把范围压缩,举个例子: 输入 : 1 3000    //涂第一种颜色 范围从1~10000      下面同…
*明早起来再贴代码 A [题意] 给定n*5的方格 将横向的相邻两个变成+输出 [题解] ... B [题意] 一个n*n的正整数矩阵,有且仅有一个数为0 ,在这个位置填上一个数,使得每一列的和 每一行的和 两条对角线各自的和都相等 输出这个数 [题解]sb题.暴力一下.注意细节,否则你就像这样 (不是本人 C [题意] 一排点,用1~n表示,熊孩子要给这些点上色.最初每个点的颜色为ci.一共有m种颜色,如果ci=0表示这个点最初无色. 熊孩子们需要给最初为无色的点涂上色,往第i个点涂颜色j需要…