栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 2197 Choose Your Own Adve...

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 2197 Choose Your Own Adve...

#include<string.h>#include<cstdio>using namespace std;struct Node {char type;char buf[259];int a;int b;};Node tree[108];int num;int bitmask[108];void getInput(int i){Node &cur = tree[i];scanf("%c ",&cur.type);i = -1;scanf("%c",&cur.buf[0]);do{i++;scanf("%c",&cur.buf[i]);}while(cur.buf[i]!='"');cur.buf[i] = 0;if(cur.type == 'C'){scanf("%d%d ", &cur.a, &cur.b);}else {static char s[16];scanf("%s ",s);if(strcmp(s,"HAPPY")==0){cur.a = 0; cur.b = -1;} else{cur.a=cur.b =-1;}}}int go(int i){if(bitmask[i] ==1)return -1;Node &cur = tree[i];if(cur.type =='E')return cur.a;bitmask[i] = 1;if(go(cur.a)==-1){cur.a = -1;} else {bitmask[i] = 0;return 0;}if(go(cur.b) == -1){bitmask[i] = 0;return cur.b = -1;}bitmask[i] = 0;return 0;}void output(){int i = 1;while(tree[i].type != 'E'){printf("%sn",tree[i].buf);if(tree[i].a !=-1){i = tree[i].a;} else {i = tree[i].b;}}printf("%sn",tree[i].buf);}int main(){int tstnum,tstcase = 0,i;scanf("%d ",&tstnum);while(tstcase ++ < tstnum){printf("STORY %dn",tstcase);scanf("%d ",&num);for(i=1;i<=num;i++){getInput(i);}memset(bitmask,0,sizeof(bitmask));go(1);output();}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/374085.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号