题意:包含图中所有结点的简单环称为汉密尔顿环。给出无向图,然后给出k个查询,问每个查询是否是汉密尔顿环。

思路:根据题目可知,我们需要判断一下几个条件:(1).首先保证给定的环相邻两结点是连通的;(2).若图结点个数为n,则环的结点个数必须是n+1;(3).环的起点和终点必须相同;(4).除了首尾结点外,其余结点有且仅有出现过一次。

注意点:因为会多次查询,因此记得在每次查询前进行初始化!(这个点经常出错!画时间找这种错误非常浪费!)

代码:

#include <cstdio>
#include <cstring>
;
};
int path[maxn];//存放查询的路径
};//存放路径结点出现的次数

int main()
{int n,m,u,v;
    scanf("%d%d",&n,&m);
    ;i<m;i++){
        scanf("%d%d",&u,&v);
        graph[u][v]=graph[v][u]=;
    }
    int query,k;
    scanf("%d",&query);
    while(query--){
        scanf("%d",&k);
        bool flag=true;
        memset(cnt,,sizeof(cnt));//每次查询前记得初始化!!!!!
        ;i<k;i++){
            scanf("%d",&path[i]);
            cnt[path[i]]++;//统计路径上的结点出现过的次数
        }
        //判断1
         || path[]!=path[k-])  flag=false;
        else{
            //判断2,环是否连通
            ];
            ;i<k;i++){
                ){
                    flag=false;
                    break;
                }
                pre=path[i];
            }
            if(flag){
                //判断3
                ;i<k-;i++){
                    ){
                        flag=false;
                        break;
                    }
                }
            }
        }
        if(flag) printf("YES\n");
        else printf("NO\n");
    }
    ;
}

1122 Hamiltonian Cycle的更多相关文章

  1. 1122 Hamiltonian Cycle (25 分)

    1122 Hamiltonian Cycle (25 分) The "Hamilton cycle problem" is to find a simple cycle that ...

  2. PAT甲级 1122. Hamiltonian Cycle (25)

    1122. Hamiltonian Cycle (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The ...

  3. PAT 1122 Hamiltonian Cycle[比较一般]

    1122 Hamiltonian Cycle (25 分) The "Hamilton cycle problem" is to find a simple cycle that ...

  4. 1122 Hamiltonian Cycle (25 分)

    1122 Hamiltonian Cycle (25 分) The "Hamilton cycle problem" is to find a simple cycle that ...

  5. PAT 1122 Hamiltonian Cycle

    The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a gra ...

  6. 1122. Hamiltonian Cycle (25)

    The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a gra ...

  7. PAT甲题题解-1122. Hamiltonian Cycle (25)-判断路径是否是哈密顿回路

    博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/6789799.html特别不喜欢那些随便转载别人的原创文章又不给 ...

  8. PAT1122: Hamiltonian Cycle

    1122. Hamiltonian Cycle (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The ...

  9. A1122. Hamiltonian Cycle

    The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a gra ...

随机推荐

  1. 使用maven时报错An error occurred while filtering resources

    解决办法:右键项目-->maven-->update project   .

  2. Linux软件安装(二)

    1. 安装软件时,如果依赖的文件是 .so 类型的文件(so文件是谋个文件的小功能模块,如果php.ini中设置的模块引用就是 .so文件) ,这时被依赖的软件要安装完整的软件,一般可以根据 .so ...

  3. SpannableString实现TextView的链接效果

    SpannableString实现TextView的链接效果 一.简介 TextView使用SpannableString设置复合文本TextView通常用来显示普通文本,但是有时候需要对其中某些文本 ...

  4. grunt,gulp,webpack前端打包工具的特性

    1.http://www.cnblogs.com/lovesong/p/6413546.html (gulp与webpack的区别) 2.http://blog.csdn.net/qq_3231263 ...

  5. 快速掌握Android 虚拟机(AVD)方法

    摘自 http://jingyan.baidu.com/article/15622f24707710fdfdbea553.html 参阅:http://jingyan.baidu.com/articl ...

  6. 原子变量与CAS算法

    原子变量 为了引出原子变量这个概念,我们先看一个例子. package com.ccfdod.juc; public class TestAtomicDemo { public static void ...

  7. Android自定义控件之仿美团下拉刷新

    美团的下拉刷新分为三个状态: 第一个状态为下拉刷新状态(pull to refresh),在这个状态下是一个绿色的椭圆随着下拉的距离动态改变其大小. 第二个部分为放开刷新状态(release to r ...

  8. NSURLConnection / NSURLSession/ SDWebImage

    1. NSURLConnection (iOS9开始被弃用)=========================================== 此类的对象加载一个URL请求对象,通过异步/同步的方 ...

  9. PostgreSQL归档日志 手动触发归档 select pg_switch_xlog()

    (转,做记录) 一 环境信息--1.1 PostgreSQL 版本 9.3.0 --1.2 postgresql.conf wal_level = hot_standbyarchive_mode = ...

  10. 跟我学Delphi Xe4 开发 IOS 一 , 重读Delphi Xe4 自带文档.

    安装了 Delphi Xe4 之后打开这个地址就是完整的官方的文档了. 虽然不是立刻能解决你的问题. 但也是必须要看一遍的. 最基础的都在这里了. ms-help://embarcadero.rs_x ...