数据生成程序

//数据生成程序
/*
#include <iostream>
#include <cstdio>
#include <map>
#include <algorithm>
#include <vector>
#include <cstdlib>
#include <ctime>
#include <set>
using namespace std;

int main() {
    int t = 999;
    srand( time(NULL) );
    freopen("e.txt","w",stdout);
    printf("%d\n",t);
    while(t--) {
        int n = rand() % 2000 + 1;
        int m = rand() % 1000 + 1;
        printf("%d %d\n", n, m);
        for(int i = 0; i < m; i++) {
            int x = rand() % n + 1;
            int y = rand() % n + 1;
            printf("%d %d\n",x, y);
        }
    }
}
*/

//标程
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;

const int maxn = 2005;
int fa[maxn], r[maxn];

void init(int n)
{
    for(int i = 0; i <= n; i++)
    {
        fa[i] = i;
        r[i] = 0;
    }
}

int find(int x)
{
    if(fa[x] == x) return x;
    int fx = fa[x];
    fa[x] = find(fa[x]);
    r[x] = ( r[fx] + r[x] ) % 2;
    return fa[x];
}

void unin(int x, int y)
{
    int fx = find(x);
    int fy = find(y);
    if(fx != fy)
    {
        fa[fy] = fx;
        r[fy] = ( r[x] + r[y] + 1 ) % 2;
    }
}

int main()
{
    int t;
    int n, m;
    int a, b;
    freopen("e.txt","r",stdin);
    freopen("f.txt","w",stdout);
    scanf("%d",&t);
    for(int kase = 1; kase <= t; kase++)
    {
        bool flag = true;
        scanf("%d %d",&n, &m);
        init(n);
        for(int i = 0; i < m; i++){
            scanf("%d %d",&a, &b);
            if(!flag) continue;
            if(find(a) != find(b)) {
                unin(a, b);
            } else {
                if(find(a) == find(b) && r[a] == r[b]){
                    flag = false;
                }
            }
        }
        printf("Scenario #%d:\n", kase);
        if(flag) {
            puts("No suspicious bugs found!");
        } else {
            puts("Suspicious bugs found!");
        }
        if(kase != t) puts("");
    }
}

数据生成程序

时间: 2024-11-06 14:24:08

数据生成程序的相关文章

出数据

ACM竞赛中题目的数据一般都可以用随机生成法+手动法.随机生成法主要用到随机函数rand(). int rand(void); 返回一个伪随机数a,a的取值范围是[0,RAND_MAX].每次调用rand函数,都会返回内部算法生成的看似 不相关的一连串的数.该算法使用随机种子,随机种子的值可以用srand()函数初始化. RAND_MAX是<cstdlib>头文件里定义的常量, 其值为32767. 例:生成范围是[a,b]的一个随机数,其中a > -1 , b < 32768.

大数据精英实战项目班-Hadoop-Spark-真实企业项目

2018最新最全大数据技术视频,项目视频.整套视频,非那种杂七杂八自己拼凑的,内容如下,需要的联系QQ:3164282908(加Q注明大数据) 更有海量大数据技术视频.大数据项目视频,机器学习深度学习技术视频.项目视频.Python编程视频.Oracle数据库视频.Java培训视频高级架构师视频等等等. ├----------01-大数据Java基础------------- │├java第01天 ││├java第01天-01.类型转换.avi ││├java第01天-02.归档分析与实现.av

随机数据生成与对拍

# 随机数据生成与对拍 引言 在漫长的\(OI\)生涯中,你肯定遇到过这些情况 在OI赛制下,你写了一份你自认为是正解的代码,但是你不确定自己是否考虑到了所有的细节,你不敢轻易提交 对于有些无法获得数据的题目,你不知道自己错在了哪里 对于能够获得数据的题目,你拿到的数据都是上万级别的数据,难以\(Debug\). 这时候,我们就可以试试随机数据生成与对拍` 什么是随机数据生成? 顾名思义,就是针对我们的需求生成随机的数据.比如生成随机的整数序列,生成随机的树,生成随机的图. 什么是对拍? 对拍说

关于对拍

以前傻傻地以为对拍在竞赛中不怎么起作用(可见我以前有多单纯),但现在发现,高手都用这个,所今天就好好的学了下对拍. 首先说一下对拍有什么用,它主要用来测试你的程序是否完美,在竞赛时期属于一种辅助性的东西,因为很多时候竞赛题目给出的数据都不具有特例性,所以有时即使你样例过了却不意味着你全过,所以要用到它. 首先,来说一下对拍要用到的"东西"--------------> 数据生成程序 + 暴力或其他人的AC程序 + 你自己的程序 那下面就先给出对拍的代码:(先用txt文件保存,然后

Flume 开发者指南V1.5.2

介绍 概述 Apache Flume是一个用来从很多不同的源有效地收集,聚集和移动大量的日志数据到一个中心数据仓库的分布式的,可靠的和可用的系统. Apache Flume是Apache软件基金会的顶级项目.目前有两个可获得的发布代码路线,0.9.x版本和1.x版本.本文档适用于1.x代码线.对于0.9.x代码线,请看Flume 0.9.x开发指南. 结构 数据流模型 一个Event是在Flume代理之间流动的数据单元.Event从Source流动到Channel再到Sink,并由一个Event

病毒分裂(分治)

题目:病毒分裂 [问题描述] A学校的实验室新研制出了一种十分厉害的病毒.由于这种病毒太难以人工制造了,所以专家们在一开始只做出了一个这样的病毒. 这个病毒被植入了特殊的微型芯片,使其可以具有一些可编程的特殊性能.最重要的一个性能就是,专家们可以自行设定病毒的分裂能力 K,假如现在有x 个病毒,下一个分裂周期将会有 Kx个一模一样的病毒.你作为该实验室的数据分析员,需要统计出在分裂到第N个周期前,一共有多少个病毒单体进行了分裂(注意求的不是最终的细胞个数...LZ就这么错的0.0).一开始时总是

【Twitter Storm系列】Storm环境配置及吞吐量测试调优--个人理解

1.硬件配置信息 6台服务器,2个CPU,96G,6核,24线程 2.集群信息 Storm集群:1个nimbus,6个supervisor nimbus:192.168.7.127 supervisor: 192.168.7.128 192.168.7.129 192.168.7.130 192.168.7.131 192.168.7.132 192.168.7.133 Zookeeper集群: 3个节点 192.168.7.127:2181, 192.168.7.128:2181, 192.1

Flume 开发人员指南V1.5.2

介绍 概述 Apache Flume是一个用来从非常多不同的源有效地收集.聚集和移动大量的日志数据到一个中心数据仓库的分布式的,可靠的和可用的系统. Apache Flume是Apache软件基金会的顶级项目.眼下有两个可获得的公布代码路线,0.9.x版本号和1.x版本号. 本文档适用于1.x代码线.对于0.9.x代码线.请看Flume 0.9.x开发指南. 结构 数据流模型 一个Event是在Flume代理之间流动的数据单元.Event从Source流动到Channel再到Sink.并由一个E

【技巧】算法竞赛中对拍程序的写法

在竞赛过程中一个对拍程序可以帮你排除许多错误, 如果担心自己写的正解被一些小数据卡掉, 我们通常会写个对拍程序来检查正解的正确性, 通过大量数据观察正解与暴力的输出是否相同. 我们首先拿出我们写的可能会超时但是可以保证绝对正确的暴力程序,称作bf.exe, 然后拿出我们写的待检测的正解,称作std.exe, 接着我们写一个随机数据生成程序,用来一次生成一组自制随机数据用来检测输出,称作gen.exe, 然后我们来写一个利用windows批处理的对拍程序. 在你的程序的根目录下新建一个称作chec