题意:给出一个字符串,包含0、1、*,当中×是能够替换成0或者1的,假设字符串的某个子串S有SSS这种连续反复3次出现,不是Triple-free串,问给出的字符串能够形成多少个非Triple-free串。

题解:由于串长度最多31,所以能够暴力枚举每一位,边枚举边推断。

#include <stdio.h>
#include <string.h>
const int N = 35;
char str[N], str2[N];
int n;
long long res; bool judge(int cur) {
for (int i = 1; i * 3 <= (cur + 1); i++) {
int e = cur - i * 3, cnt2 = 0;
for (int j = cur; j > cur - i; j--) {
int cnt = 0;
for (int k = j; k > e; k -= i)
if (str2[j] != str2[k])
break;
else
cnt++;
if (cnt == 3)
cnt2++;
else
break;
}
if (cnt2 == i)
return false;
}
return true;
} void dfs(int cur) {
if (cur == n) {
res++;
return;
}
if (cur == 0 || cur == 1) {
if (str[cur] == '0' || str[cur] == '1') {
str2[cur] = str[cur];
dfs(cur + 1);
}
else {
str2[cur] = '0';
dfs(cur + 1);
str2[cur] = '1';
dfs(cur + 1);
}
return;
}
str2[cur] = '0';
if (judge(cur)) {
if (str[cur] == '0' || str[cur] == '*')
dfs(cur + 1);
}
str2[cur] = '1';
if (judge(cur)) {
if (str[cur] == '1' || str[cur] == '*')
dfs(cur + 1);
}
} int main() {
int cas = 1;
while (scanf("%d", &n) == 1 && n) {
scanf("%s", str);
res = 0;
dfs(0);
printf("Case %d: %lld\n", cas++, res);
}
return 0;
}

最新文章

  1. PHP 函数(数组字符串)
  2. Proxy Pattern(Java动态代理和cglib的实现)
  3. Python-类变量,成员变量,静态变量,类方法,静态方法,实例方法,普通函数
  4. (转)提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
  5. QueryRunner使用
  6. JAVA事务
  7. jQuery Easyui DataGrid应用
  8. Qt 窗体的模态与非模态(setWindowFlags(Qt::WindowStaysOnTopHint);比较有用,还有Qt::WA_DeleteOnClose)
  9. WARNING [Project: :app] To shrink resources you must also enable ProGuard
  10. target-action传值
  11. C语言头文件
  12. Can DBC 文件翻译,不是很标准,凑合看还可以
  13. element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项
  14. mongoDB python 操作
  15. java操作数据库:分页查询
  16. require.js Javascript模块化
  17. luogu P4161 [SCOI2009]游戏
  18. 给 vue项目添加ESLint
  19. C# DataView操作DataTable
  20. json 的相互 转换

热门文章

  1. Leetcode28---&gt;字符串的匹配(KMP)
  2. list里内置程序用法
  3. 九度oj 题目1356:孩子们的游戏(圆圈中最后剩下的数)
  4. Chromo开发常用插件和***工具
  5. 免费CSS鼠标样式代码大全
  6. poj 1269 判断直线的位置关系
  7. 07深入理解C指针之---指针类型和长度
  8. 用户空间使用i2c_dev
  9. Swoole 简单学习
  10. dedecms--会员信息导出excel表格