UVa10001伊旬园
来源:互联网 发布:定增pe天使投资知乎 编辑:程序博客网 时间:2024/06/07 01:17
就是题目特别难懂
#include<stdio.h>#include<string.h>int left[8] = {0,0,0,0,1,1,1,1};int cell[8] = {0,0,1,1,0,0,1,1};int right[8] = {0,1,0,1,0,1,0,1};int newc[8];int autom;int len;char cnum[50];int target[50];int ans[50];bool dfs(int cur){if(cur == len-2){bool a = false,b = false;for(int i=0; i < 8; ++i){if(!a){a = left[i] == ans[cur-1] &&\cell[i] == ans[cur] &&\right[i] == ans[cur+1] &&\newc[i] == target[cur];}if(!b){b = left[i] == ans[cur] &&\cell[i] == ans[cur+1] &&\right[i] == ans[0] &&\newc[i] == target[cur+1];}}return a&&b;}for(int i=0; i < 8; ++i){if(left[i] == ans[cur-1] &&\cell[i] == ans[cur] &&\newc[i] == target[cur]){ans[cur+1] = right[i];if(dfs(cur+1))return true;}}return false;}int main(){//freopen("input.txt","r",stdin);//freopen("out.txt","w",stdout);while(scanf("%d %d %s", &autom, &len, cnum) == 3){for(int i=0; i < len; ++i){target[i] = cnum[i]-'0';}memset(newc, 0, sizeof(newc));int w=0;while(autom){newc[w++] = autom%2;autom /= 2;}bool ok = false;for(int i=0; i < 8; ++i){if(target[0] == newc[i]){memset(ans, 0, sizeof(ans));ans[len-1] = left[i];ans[0] = cell[i];ans[1] = right[i];ok = dfs(1);if(ok)break;}}if(ok)printf("REACHABLE\n");elseprintf("GARDEN OF EDEN\n");}}
阅读全文
0 0
- UVa10001伊旬园
- uva10001
- UVA10001
- Uva10001 Garden of Eden
- uva10001 - Garden of Eden
- uva10001 Garden of Eden
- UVA10001按照一定的规则三位一体转化字符串,给定字符串看能否转化出
- 概率 & 采样
- Altium Designer 电路设计3
- 2017 华东师范大学网赛 F.丽娃河的狼人传说 && Problem #3263( 贪心)
- 系统编程四
- 使用 MySQLi 向 MySQL 插入、增加数据
- UVa10001伊旬园
- okhttp 登录post请求
- 如何基于Spark做深度学习:从Mllib到keras,elephas
- 常用的springMVC注解
- 字符串对象
- PQ for ANN image retrieval
- Linux RAID
- keras入门 ---在预训练好网络模型上进行fine-tune
- golang日記 -Java的ArrayList和Golang的slice