zoukankan      html  css  js  c++  java
  • D

    Time Limit : 1 Second      Memory Limit : 65536 KB

    Source : 第十届山东省ACM省赛

    Problem Link : ZOJ 4116

    Author : Houge  Date : 2019-5-20

     

    题目大意:

      给出一个含n个点,m条边的连通图,将k个人按照输入分成两组,按顺序取边,当取走一条边后图不再连通,该队就输了,要求输出赢的队的编号。

    分析:

      题目看上去很长,像是一个复杂的图论,但其实算作一个签到题也不过分。。。对于n个点,若要该图连通,则至少需要n-1条边。而题目所给出的图最初一定是连通的,那么我们可以说,当边数为n-1时,下一个拿边的队伍就是输掉比赛的队伍。

    代码:

     1 #include <bits/stdc++.h>
     2 
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     int t;
     8     scanf("%d",&t);
     9     while(t--)
    10     {
    11         int n,v,e,temp=0;
    12         char order[100005];
    13         scanf("%d%s%d%d",&n,order,&v,&e);
    14         if(e>=v-1) temp=(e-v+1)%n;    //注意要对n取模
    15         while(e--)
    16         {
    17             scanf("%*d%*d");
    18         }
    19         //cout<<"Test temp : "<<temp<<endl;
    20         if(order[temp]=='1') printf("2
    ");
    21         else printf("1
    ");
    22     }
    23     return 0;
    24 }
  • 相关阅读:
    three.js 制作一个三维的推箱子游戏
    three.js 郭先生制作太阳系
    three.js 制作魔方
    three.js 欧拉角和四元数
    mysql
    重装系统后需要安装的软件
    python3.7 安装PyQt5
    Java读取文件
    linux 环境jdk安装
    linux 修改用户字符集
  • 原文地址:https://www.cnblogs.com/CSGOBESTGAMEEVER/p/10896400.html
Copyright © 2011-2022 走看看