poj1182测试数据过了,但A不了,暂时放在这,以后再看

#include<iostream>
#define MAXN 1002
using namespace std;

int T[MAXN],X[MAXN],Y[MAXN],par[MAXN],shugao[MAXN];
void init(int n)
{
    int i;
    for(i=0;i<n;i++)
    {
        par[i]=i;//一开始这些节点并没有联系
        shugao[i]=0;
    }
}
int f_ind(int x)
{
    if(par[x]==x)
    {
        return x;
    }else{
    return par[x]=f_ind(par[x]);
    }
}
bool same(int x,int y)
{
    return f_ind(x)==f_ind(y);
}
void unite(int x,int y)
{
    x=f_ind(x);
    y=f_ind(y);
    if(x==y)
    {
        return ;
    }
    if(shugao[x]<shugao[y])
    {
        par[x]=y;

    }
    else
    {
        par[y]=x;
        if(shugao[x]==shugao[y])
        {
            shugao[x]++;
        }
    }
}

int main()
{
    int i,N,K,x,y,t;

    cin >> N>>K;
    for(i=0;i<K;i++)//输入K组数据,范围在N之间
    {
        cin>>T[i]>>X[i]>>Y[i];
    }
    init(3*N);
    int ans=0;//记录错误信息
    for(i=0;i<K;i++)
    {
         x=X[i],y=Y[i],t=T[i];
        if(x<0||y>=N||y>N-1||y<0)
        {
            ans++;
            continue ;
        }
        if(t==1)
        {
            if(same(x,y+N)||same(x,y+2*N))
            {

                ans++;
            }
            else
            {
                unite(x,y);
                unite(x+N,y+N);
                unite(x+2*N,y+2*N);
            }

        }
        else
        {
            if(same(X[i],Y[i])||same(X[i],Y[i]+2*N))
            {
                ans++;
            }
            else
            {
                unite(x,y+N);
                unite(x+N,y+2*N);
                unite(x+2*N,y);
            }
        }

    }
    cout<<ans<<endl;
}

  

时间: 2024-10-13 21:03:24

poj1182测试数据过了,但A不了,暂时放在这,以后再看的相关文章

测试ReplicaSets读写分离和故障转移

读写分离实现步骤: 从库能够进行查询就更好了,这样可以分担主库的大量的查询请求. 1) 先向主库中插入一条测试数据 rs1:PRIMARY> db.c1.insert({age:30});db.c1.insert({age:30}); WriteResult({ "nInserted" : 1 }) rs1:PRIMARY>  db.c1.find() db.c1.find() { "_id" : ObjectId("5791ef011f4c6

NYoj-27-水池数目-DFS-BFS

水池数目 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 南阳理工学院校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地图上仅标识了此处是否是水池,现在,你的任务来了,请用计算机算出该地图中共有几个水池. 输入 第一行输入一个整数N,表示共有N组测试数据 每一组数据都是先输入该地图的行数m(0<m<100)与列数n(0<n<100),然后,输入接下来的m行每行输入n个数,表示此处有水还是没水(1表示此处是水

第87课:Flume推送数据到SparkStreaming案例实战和内幕源码解密

本期内容: 1. Flume on HDFS案例回顾 2. Flume推送数据到Spark Streaming实战 3. 原理绘图剖析 1. Flume on HDFS案例回顾 上节课要求大家自己安装配置Flume,并且测试数据的传输.我昨天是要求传送的HDFS上. 文件配置: ~/.bashrc: export FLUME_HOME=/usr/local/flume/apache-flume-1.6.0-bin export FLUME_CONF_DIR=$FLUME_HOME/conf PA

MongoDB---前世今生

MongoDB的官方文档基本是how to do的介绍,而关于how it worked却少之又少,本人也刚买了<MongoDB TheDefinitive Guide>的影印版,还没来得及看,本文原作者将其书中一些关于MongoDB内部现实方面的一些知识介绍如下,值得一看. 今天下载了<MongoDB The Definitive Guide>电子版,浏览了里面的内容,还是挺丰富的.是官网文档实际应用方面的一个补充.和官方文档类似,介绍MongoDB的内部原理是少之又少,只有在附

结对编程2——单元测试

 周迪 201421123089    黄睿 201421123069  coding.net 地址:http://git.oschina.net/hr2324/SoftEngHW 1.我们的代码要使它的利用率大大提高,所以我们要通过单元测试进一步完善代码,发现细小的错误.于是这次就用JUnit进行了简单四则运算的单元测试. a.需求分析:(1)在上次的基础上将计算模块单独创建一个类: (2)针对计算类做单元测试: (3)主要做整数和真分数的加减乘除: (4) 增量式开发,用git命令提交到co

结对编程2—— 单元测试

结对伙伴:201421123048,201421123036 coding.net 地址:https://git.coding.net/YJh_/PairProject_2.git a. 需求分析:测试上有哪些详细的需求? 1.把计算模块提取出来,单独创建一个类2.通过单元测试代码,测试加法是否能正确工作3.通过单元测试代码,测试加减乘除功能4.通过单元测试代码,测试计算类对于各种参数的支持 输入是有错误的,例如 "1 ++ 2" 在数值范围是 -1000 .. 1000 的时候,传进

AC6102开发板USB3.0测试和使用说明

AC6102开发板USB3.0测试和使用说明 概述 AC6102上集成了一颗Cypress 推出的高性能USB3.0传输芯片CYUSB3014,Cypress称之为EZ-USBFX3.该芯片性能强劲,功能强大,接口简单,非常适合用于各种需要高速数据传输的场合,以下为摘自EZ-USBFX3数据手册中关于该芯片的介绍: 赛普拉斯EZ-USBFX3是新一代USB3.0外设控制器,具有高度集成的灵活特性,可帮助开发人员为任何系统添加USB3.0功能.EZ-USBFX3具有一个可进行完全配置的并行通用可编

白盒测试中的六种覆盖方法案例分析

一.语句覆盖(Statement coverage) "语句覆盖"是一个比较弱的测试标准,它的含义是:选择足够的测试用例,使得程序中每个语句至少都能被执行一次.                                          图6.4是一个被测试的程序,它的源程序是: PROCEDURE M(VAR A,B,X:REAL): BEGIN IF(A>1) AND (B=0)  THENX:=X/A: IF(A=2)OR (X>1)  THENX:=X+1:

WEB接口测试之Jmeter接口测试自动化 第二弹(误入歧途)

通过逐个录入的方式,好不容易将需要测试几十个接口的300多个测试用例录入sampler-http请求中,固定的测试环境跑起来也还 感觉良好.不料在新服务器环境中跑用例时,问题来了:修改参数维护脚本等成本太大! 脚本参数是写死的,修改起来得一个个请求打开来依次输入参数值,有点坑... 为了解决这个问题,毅然决定将所有参数提取处理,用excel文件来做数据驱动,做法如下: 1.问题分析 要通过excel表格做数据驱动,首先得让jmeter能读到表格中指定的行和列.考虑到个人代码能力捉急,选择用csv