喵哈哈村的修路游戏

链接:http://qscoj.cn/problem/51/

喵哈哈村的扔硬币游戏

发布时间: 2017年3月21日 20:00   最后更新: 2017年3月21日 20:01   时间限制: 1000ms   内存限制: 128M

描述

喵哈哈村的月亮同学很无聊,于是太阳同学给月亮同学出了个问题,来打发时间:

有一排硬币,一共N枚,初始时都是正面朝上。接下来会有很多次操作,每次会将其中一段连续的硬币翻一面。求最后硬币的结果。

输入

本题包含多组测试数据。
第一行输入两个数字N,M分别表示硬币的数量和操作的数量。其中0<N<=10000,0<M<=1000.
接下来M行,每行两个整数A,B分别表示本次操作会将第A枚硬币到第B枚硬币翻一面,其中(0<A<=B<=N)

输出

连续输出这N枚硬币的最终结果,其中0表示正面朝上,1表示反面朝上。

样例输入1 

5 2
1 2
2 4

样例输出1

10110题解:数据结构,前缀和
#include<bits/stdc++.h>
using namespace std;

const int maxn = 1e5+7;

int a[maxn];

int main(){
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;i++){
        int A,B;
        scanf("%d%d",&A,&B);
        a[A]++;
        a[B+1]--;
    }
    int sum = 0;
    for(int i=1;i<=n;i++){
        sum+=a[i];
        if(sum%2==0)printf("0");
        else printf("1");
    }
    printf("\n");
}

链接:http://qscoj.cn/problem/53/

喵哈哈村的修路游戏

发布时间: 2017年3月21日 20:00   最后更新: 2017年3月21日 20:01   时间限制: 1000ms   内存限制: 128M

描述

喵哈哈村的月亮同学很无聊,于是太阳同学给月亮同学出了个问题,来打发时间:

有N个村庄,其中已经有M条道路,每条道路连通两个村庄。现在要让全部村庄能够互相到达(不要直接通过一条道路到达,通过其他村庄中转能够达到也可以),请问至少还需要建造多少条道路。

输入

本题包含多组测试数据。
第一行输入两个数字N,M分别表示村庄的数量和道路的数量。其中0<N<=100,0<=M<=100。
村庄编号从1到N。
接下来有M行,每行两个数字A,B分别这条道路连通的两个村庄编号,其中0<A,B<=N,A!=B.

输出

输出一个数字表示至少需要造多少条道路才能把全部村庄连通。

样例输入1

5 2
1 2
3 4

样例输出1

2题解:图论,dfs
#include<bits/stdc++.h>
using namespace std;
const int maxn = 105;
int n,m;
int vis[maxn];
vector<int>E[maxn];
void dfs(int x){
    if(vis[x]==1)return;
    vis[x]=1;
    for(int i=0;i<E[x].size();i++){
        dfs(E[x][i]);
    }
}
int main(){
    int n,m;
    while(cin>>n>>m){
        memset(vis,0,sizeof(vis));
        for(int i=0;i<maxn;i++)
            E[i].clear();
        for(int i=0;i<m;i++){
            int a,b;
            cin>>a>>b;
            E[a].push_back(b);//整体思想
            E[b].push_back(a);
        }int cnt=0;
        for(int i=1;i<=n;i++){
            if(vis[i]==1)continue;
            cnt++;
            dfs(i);

        }
        cout<<cnt-1<<endl;
    }
}
/*数据:1——2——3 4 5——6
E[1]=2,3
E[2]=1,3
E[3]=1,2
E[5]=6  E[6]=5
vis[1] cnt++ dfs(1) vis[1]=1 dfs(2/*E[1][1]*/)vis[2]=1  dfs(1/*E[2][1]*/) return dfs(3/*E[2][2]*/)vis[3]=1 return dfs(3/*E[1][2]*/)……
/*vis[2] continue vis[3] continue
vis[4] cnt++ dfs(4) vis[4]=1
vis[5] cnt++ ……
vis[6] continue */
时间: 2024-10-25 10:11:18

喵哈哈村的修路游戏的相关文章

qscoj 喵哈哈村的打印机游戏 区间dp

点这里去看题 区间dp ,dp[l][r][d]代表从l到r的区间底色为d,具体看代码 第一次见到区间dp...两个小时对着敲了五遍终于自己敲懂了一遍ac #include<bits/stdc++.h> using namespace std; int dp[55][55][55]; string s; int solve(int l,int r,int d) { if(l>r)return 0; if(l==r&&s[l]-'A'==d)return dp[l][r][

2017-5-20-Train: 喵哈哈村的魔法考试 Round #17 (Div.2)

A.喵哈哈村的秘境探险(数学) 描述 喵哈哈村的一堆人在前往北京的路上,发现了一个洞穴.由于好奇心大作,于是准备前往洞穴进行探险. 但是有一些人并不愿意前往洞穴,于是他们决定玩以下游戏,来看是否能够去秘境探险: 这儿有n个数,如果所有数的乘积是k的倍数,那么就去探险,否则就不去. 现在问你是否会去. 输入 本题包含若干组测试数据.第一行两个整数n,k,表示数的个数,和k.第二行n个整数,a[i].满足1<=n<=1000,1<=k,a[i]<=1e6 输出 如果要去的话,输出Yes

qscoj 喵哈哈村的魔法考试 Round #5 (Div.2) 题解(前1,2,3题)ps:前三题在本人水平可掌控范围之内

题目链接:http://qscoj.cn/problem/30/ 第一题 喵哈哈村的狼人杀大战(1) 时间限制: 1000ms   内存限制: 128M 描述 喵哈哈村最近热衷于玩一个叫做狼人杀的游戏! 张小田今天她抽到的是民的身份,按照她的一贯玩法,她不会考虑发言者的发言,她只考虑站队情况. 现在是警上竞选的投票环节,现在只剩下还能当警长的两个真假预言家. 张小田认为,如果在某一天,有连续坐在一起的k个人投票给同一个人的话,那么她就认为这一局可能比较危险. 投给第一个预言家的,就记为0,投给第

喵哈哈村的灯刀姐妹

链接:http://qscoj.cn/problem/67/ 喵哈哈村的灯刀姐妹(一) 发布时间: 2017年4月9日 20:36   最后更新: 2017年4月9日 20:37   时间限制: 1000ms   内存限制: 128M 描述 喵哈哈村中的妖刀姬和青行灯是一对好姐妹,她们俩住在同一个屋檐下. 青行灯是个抖M,所以每天都回家装死,直到刀刀回答上她的问题后,她才会爬起来. 今天,她的问题是: 给你l和r,判断有多少个x满足: 1.x是偶数 2.l<=x<=r 输入 本题包含若干组测试

喵哈哈村的狼人杀大战(4)

http://qscoj.cn/problem/33/ 描述 喵哈哈村最近热衷于玩一个叫做狼人杀的游戏! 徐元帅同学今天他抽到的是女巫的身份,按照他的一贯玩法,他喜欢一开始就把自己毒死. 于是他早早的就出去了. 他很无聊,于是出了一道题给自己玩. 他从怀里面掏出了一个数字n. 他想知道有多少组三元组(a,b,c),满足a<=b<=c,且a,b,c都是素数,而且a+b+c=n. 输入 本题包含若干组测试数据.每组测试数据只含有一个整数n.1<=n<=10000 输出 输出三元组的数量

qscoj 128 喵哈哈村的魔法源泉(2)(模仿快速幂,好题)

喵哈哈村的魔法源泉(2) 发布时间: 2017年5月9日 20:59   最后更新: 2017年5月9日 21:00   时间限制: 1000ms   内存限制: 128M 描述 喵哈哈村有一个魔法源泉,里面有无穷无尽的力量. 但是前提是你能答出这样一个问题: 给你a,b,p,让你输出a*b%p的值. 输入 本题包含若干组测试数据.第一行三个整数a,b,p. 满足:0<=a,b,p<=1e18 输出 输出答案 样例输入1 复制 10 1 7 样例输出1 3题目链接:http://qscoj.c

喵哈哈村的魔法考试 Round #7 (Div.2) B

  B 喵哈哈村的麦克雷  喵哈哈村的麦克雷 发布时间: 2017年3月13日 11:51   最后更新: 2017年3月14日 18:16   时间限制: 1000ms   内存限制: 128M 描述 为了拯救喵哈哈村,这个世界必须要存在英雄. 一名叫做麦克雷的英雄站了出来!他现在面临一个难题: 给定一个N x M的01矩阵,其中1表示陆地,0表示水域.对于每一个位置,求出它距离最近的水域的距离是多少. 矩阵中每个位置与它上下左右相邻的格子距离为1. 输入 本题包含若干组测试数据:第一行包含两

喵哈哈村的括号序列

描述 喵哈哈村的括号序列和外界的括号序列实际上是一样的. 众所周知"()"这样的,就是一个标准的括号序列:"()()()()"这样也是括号序列:"((()))()"这样也是一个合法的括号序列.但是"((("这样,就不是一个合法的括号序列了. 现在沈宝宝非常好奇,给你一个字符串,请从中找出最长的合法括号序列出来. 不知道你能找到吗? 输入 第一行一个T,表示有T组数据.接下来T行,每一行都是一个字符串.保证字符串的长度小于100

喵哈哈村的魔法考试 Round #3 (Div.2) ABCDE

官方题解:http://www.cnblogs.com/qscqesze/p/6480284.html 哗啦啦村的刁难(1) 描述 哗啦啦村作为喵哈哈村的对头,于是他们准备给喵哈哈村一个好看. 哗啦啦村的头号长老--鱼先生,就提出了以下问题: 给你三个木棍,问你这三个木棍,是否能够组成一个非退化的三角形! 输入 第一行一个整数T,表示测试组数的个数.接下来T行,每行三个整数,a,b,c.表示哗啦啦村提供的三根木棍. 满足1<=T<=1001<=a,b,c<=5000 输出 如果可以