HDU 1181 变形课
来源:互联网 发布:php颜色代码 编辑:程序博客网 时间:2024/06/10 16:42
变形课
Problem Description
呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体.
Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一个M(Mouse),你知道,如果他自己不能完成的话,他就只好向Hermione请教,并且被迫听一大堆好好学习的道理.
Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B(ball)变成一个M(Mouse),你知道,如果他自己不能完成的话,他就只好向Hermione请教,并且被迫听一大堆好好学习的道理.
Input
测试数据有多组。每组有多行,每行一个单词,仅包括小写字母,是Harry所会的所有咒语.数字0表示一组输入结束.
Output
如果Harry可以完成他的作业,就输出"Yes.",否则就输出"No."(不要忽略了句号)
Sample Input
sosoonrivergoesthemgotmoonbeginbig0
Sample Output
Yes.
经典深搜题,便于深搜初学者理解。把所有单词首尾存到一个二维数组里,然后建邻接矩阵标记,深搜求是否有解。
#include<stdio.h>#include<string.h>int deep(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(deep(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(deep(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
- hdu 1181 变形课
- HDU 1181 变形课
- hdu 1181 变形课
- hdu 1181 变形课
- HDU 1181 变形课
- hdu 1181 变形课
- hdu 1181 变形课
- hdu 1181 变形课
- HDU 1181 变形课
- hdu 1181 变形课
- 变形课 hdu 1181
- hdu-1181-变形课
- HDU 1181 变形课
- HDU 1181 变形课
- HDU 1181【变形课】
- hdu-1181-变形课
- HDU 1181 变形课
- hdu 1181 变形课
- 算法分析之Ackerman函数的递归实现算法
- WebSocket
- Java网络编程 线程
- 冒泡排序Bubble sort
- Android Studio新建一个继承其它类的类
- HDU 1181 变形课
- 欢迎使用CSDN-markdown编辑器
- 学习班长编写作业
- .Net 实用工具
- POJ 2253 Frogger 【单源最短路】
- 安装12G内存读出内存条为3.45G的处理方法
- xps15-9550 + Ubuntu16.04
- Android 签名之使用命令行给apk签名
- 怎么在几何画板中隐藏坐标轴