HDU1181
来源:互联网 发布:淘宝seo搜索优化工具 编辑:程序博客网 时间:2024/06/05 10:59
变形课
Problem Description
呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体.
Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一个M(Mouse),你知道,如果他自己不能完成的话,他就只好向Hermione请教,并且被迫听一大堆好好学习的道理.
Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一个M(Mouse),你知道,如果他自己不能完成的话,他就只好向Hermione请教,并且被迫听一大堆好好学习的道理.
先把这堆东西头尾提取出来,然后丢到邻接矩阵里。就那么深搜
#include<stdio.h>#include<string.h>int dfs(int s[100][100],int c[100],int k,char b[100][3]){ int j; c[k]=1; for(j=0; j<100; j++) { if(s[k][j]==1&&c[j]==0) { if(b[j][1]=='m') return 1; else if(dfs(s,c,j,b)) return 1; } } return 0;}int main(){ int e,k; char a[100][100],b[100][3],ch; int i,j,an,c[100],s[100][100]; memset(a,'2',sizeof(a)); memset(b,'2',sizeof(b)); while(scanf("%s",a[0])!=EOF) { for(i=1; i<100; i++) { scanf("%s",a[i]); if(a[i][0]=='0') break; } for(i=0; i<100; i++) { an=strlen(a[i]); b[i][0]=a[i][0]; b[i][1]=a[i][an-1]; } memset(s,0,sizeof(s)); for(i=0; i<100; i++) for(j=0; j<100; j++) { if(b[i][1]==b[j][0]) s[i][j]=1; else s[i][j]=0; } e=0; memset(c,0,sizeof(c)); for(i=0; i<100; i++) { if(b[i][0]=='b') { if(b[i][1]=='m') { e=1; break; } k=i; if(dfs(s,c,k,b)) { e=1; break; } } } if(e==1) printf("Yes.\n"); else printf("No.\n"); memset(a,'2',sizeof(a)); memset(b,'2',sizeof(b)); } return 0;}
2 0
- hdu1181
- hdu1181
- hdu1181
- hdu1181
- HDU1181
- HDU1181
- hdu1181(DFS)
- hdu1181 变形课 dfs
- 变形课 hdu1181 图论
- HDU1181:变形课(DFS)
- hdu1181(变形课)
- HDU1181 变形课
- HDU1181:变形课(DFS)
- hdu1181 变形课
- HDU1181---变形课
- hdu1181 变形课【dfs】
- HDU1181:变形课 【dfs】
- hdu1181(变形课)
- 欢迎使用CSDN-markdown编辑器
- Recycler自定义组件二
- php file
- 初学ML笔记N0.6——聚类方法
- STL-空间配置器剖析
- HDU1181
- SNMP协议
- leetcode:First Missing Positive
- bindService调用Service里面方法的步骤
- iText5 表格的生成
- 几种代码块的区别、执行顺序
- php file unlink
- (OK)(OK) [android-x86-6.0-rc1] compile_Android-x86_64_in_IBM-X3650-M4.txt
- 7.6 打印出以下杨辉三角形(要求打印10行)