原题忘了

来源:互联网 发布:简述数据库的隔离级别 编辑:程序博客网 时间:2024/06/05 01:04

//这道题挺经典的,和水池问题有相像之处。。。
题目大概思路是给一个测试数据,里面有几组值,分别是每个字母之间有联系,

所以可以用二维数组将有联系的标记为1,然后在调用函数里面进行dps。。。。

#include <iostream>#include <cstring>using namespace std;bool Find;int n,m,flag[30],M[30][30];void ss(int x,int y){    flag[x]=1;    for(int i=0;i<=26;i++)        {            if(M[x][i]==1&&flag[i]==0) {     //if后面有一个括号,当时忘记了加,想了很久。。。            if(i==y)  {Find=true;return;}            ss(i,y);}        }        //return Find;}int main(){    //while(cin>>n>>m)    cin>>n>>m;     char x,y;     memset(M,0,sizeof(M));    while(n--)    {        cin>>x>>y;        M[x-'A'][y-'A']=1;        M[y-'A'][x-'A']=1;    }    while(m--)    {        cin>>x>>y;        memset(flag,0,sizeof(flag));        Find=false;        ss(x-'A',y-'A');        if(Find==true)  cout<<"Yes\n";        else cout<<"No\n";    }    return 0;}

0 0
原创粉丝点击