不容易系列之(3)—— LELE的RPG难题
杭电oj,简单递推,注意要排除首尾相同的串,但是,不能排除长度小于n的首尾相同的串。这样才不会导致漏解。
杭电OJ题目链接
#include <stdio.h>
#include <string.h>
int main() {
int i, n;
__int64 f[55][4][4], sum;
memset(f, 0, sizeof(f));
f[1][0][0] = 1;
f[1][1][1] = 1;
f[1][2][2] = 1;
f[2][0][1] = 1;
f[2][0][2] = 1;
f[2][1][0] = 1;
f[2][1][2] = 1;
f[2][2][0] = 1;
f[2][2][1] = 1;
f[3][0][1] = 1;
f[3][0][2] = 1;
f[3][1][0] = 1;
f[3][1][2] = 1;
f[3][2][0] = 1;
f[3][2][1] = 1;
f[3][0][0] = 2;
f[3][1][1] = 2;
f[3][2][2] = 2;
while(scanf("%d", &n) != EOF) {
if(n < 4) {
if(n < 3) printf("%d\n", 3*n);
else printf("6\n");
continue;
}
sum = 0;
for(i=4; i<=n; i++) {
f[i][0][0] = f[i-1][0][1] + f[i-1][0][2];
f[i][1][1] = f[i-1][1][0] + f[i-1][1][2];
f[i][2][2] = f[i-1][2][0] + f[i-1][2][1];
f[i][0][1] = f[i-1][0][0] + f[i-1][0][2];
f[i][0][2] = f[i-1][0][0] + f[i-1][0][1];
f[i][1][0] = f[i-1][1][1] + f[i-1][1][2];
f[i][1][2] = f[i-1][1][0] + f[i-1][1][1];
f[i][2][0] = f[i-1][2][1] + f[i-1][2][2];
f[i][2][1] = f[i-1][2][0] + f[i-1][2][2];
}
sum = f[n][0][1] + f[n][0][2] + f[n][1][0] +
f[n][1][2] + f[n][2][0] + f[n][2][1];
printf("%I64d\n", sum);
}
return 0;
}
引用
Problem Description
人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题:
有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法.
以上就是著名的RPG难题.
如果你是Cole,我想你一定会想尽办法帮助LELE解决这个问题的;如果不是,看在众多漂亮的痛不欲生的Cole女的面子上,你也不会袖手旁观吧?
Input
输入数据包含多个测试实例,每个测试实例占一行,由一个整数N组成,(0<n<=50)。
Output
对于每个测试实例,请输出全部的满足要求的涂法,每个实例的输出占一行。
Sample Input
1
2
Sample Output
3
6
分享到:
相关推荐
人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题:
不容易系列之(3)—— LELE的RPG难题 3 Children’s Queue 3 献给杭电五十周年校庆的礼物 3 钥匙计数之二 3 钥匙计数之一 3 母牛的故事 3 超级楼梯 3 不容易系列之二 3 一只小蜜蜂... 3 阿牛的EOF牛肉串 3 神、上帝...
3. **兼容性强**:适用于多种操作系统和应用软件,满足不同用户的使用习惯。 4. **个性化设置**:用户可以根据自己的需求调整输入习惯,提高输入效率。 在实际应用中,QQ五笔98版词库非常适合以下场景: - **办公...
Lele的方法相比传统有限差分方法的主要创新之处在于它能够更准确地表示短波长的波动。这对于处理包含多个空间尺度的现象特别有用,例如湍流流体流动。这种方法使得在保持计算效率的同时,能够更好地捕捉到流体流动中...
### 3. 成功的关键因素 - **自我提升**:文章提到冯仑的观点——“伟大都是熬出来的”。这里的“熬”意味着忍受和克服困难的过程,即通过不断的学习和努力来提升自我。 - **内在敌人的克服**:文中引用孝庄皇后的话...
"C语言小游戏——轮盘赌" 本资源是一个使用C语言编写的小游戏,游戏名称为“轮盘赌”。游戏的主要功能是模拟一个赌博游戏,让用户输入一个数字,然后生成一个随机数,如果用户输入的数字与随机数相同,用户将获得...
“LELE抽奖网站源代码”是一款名为“乐乐”的抽奖系统的开源版本,主要用于创建在线抽奖活动。源代码的开放为开发者提供了深入研究和定制抽奖功能的机会,使得用户可以根据自身需求调整或扩展系统功能。在这款免费版...
企业文化案例分析——温氏.doc
### 二、LELE的RPG难题 #### 题目描述: 有排成一行的n个方格,用红、粉、绿三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色。编程求所有满足要求的涂法的数量。 #### 解题思路: 这...
3. **输出文件**:模拟结果,如速度场、压力场、温度场等,可能以文本、图形或二进制格式存储。 4. **文档**:可能包括README文件,介绍项目的背景、目的、使用方法以及代码结构。还可能有论文引用,详细解释...
3. 农业基础设施老化:农田设施配套不全,农业抗灾能力弱。 4. 管理体制不健全:宏观和微观层面都存在支持现代农业发展的体制障碍。 5. 市场发育不足:土地、金融等要素市场化程度低,劳动力流动市场不完善,影响...
广播电视大学行政管理——法学概论形考任务题集.doc
标题 "lele1894.github.io: 网路" 暗示这是一个个人或项目的网站,托管在GitHub上,可能是一个展示个人作品、博客或者教程的平台。"静态网页" 描述意味着这个网站主要由HTML、CSS和JavaScript等静态资源构成,没有...
/home/lele/study/vtk/Actor2D/CMakeLists.txt
相比之下,西方饮酒更侧重于个人品味和享受。 #### 二、葡萄酒在中国市场的现状与挑战 - **市场认知**:早期,葡萄酒在中国被视为身份地位的象征而非健康饮品。这种认知在一定程度上限制了其作为日常饮品的普及。 ...
这篇日记讲述了作者帮助一个找不到妈妈的小孩。涉及的知识点: 1. 描述事件经过的顺序:如“On the way home”(在回家的路上),“I saw a child crying”(我看到一个孩子在哭)。 2. 使用一般过去时态表达过去...
"lele.github.io" 是一个基于GitHub Pages的个人博客项目,通常用于展示个人作品、分享技术文章或记录学习历程。JavaScript是这个项目的核心标签,意味着它主要使用JavaScript语言进行开发,可能包含前端交互、动态...