首页 > 其他分享 >【简单菊花图】Codeforce 1583Problem - B.md

【简单菊花图】Codeforce 1583Problem - B.md

时间:2024-08-04 23:06:07浏览次数:8  
标签:std 1583Problem const md int tag Codeforce include define

1583Problem - B - Codeforces

题目大意:n个点的无根树 给出m个限制条件 (a,c,b)在a到b路径上不能存在c点,求任意一种可能的树的所有边

注意数据范围:1<m<n<1e5

这说明了最多有n-1个限制条件 这说明至少有一个点不存在限制条件 即这个点可以作为根节点root连接其他所有点形成边

思路:记录可以作为根节点root的点 然后for一遍 输出即可

#include <cstdio>
#include <queue>
#include <deque>
#include <stack>
#include <map>
#include <cmath>
#include <algorithm>
#include <iostream>
#include <cstring>
#include <vector>
#define ep emplace_back 

#define lld long long 
#define ios std::ios::sync_with_stdio(false);std::cin.tie(0); 
#define vec vector 
const int N = 2e5+9;
const int INF = 0x7FFFFFFF; //2147483647

const int inf1 = 0x3f3f3f3f; //1061109567
const int inf2 = 0x7f7f7f7f; //2139062143 memset赋值用

using namespace std;
int tag[N];
int n,m;
void solve(){
    
    memset(tag,0,sizeof(tag));
    cin>>n>>m;
    for(int i=1 ; i<=m ; ++i){
        int a,b,c;
        cin>>a>>c>>b;
        tag[c]=1;
    }
    int tag__=0;
    //tag__就是根节点root
    for(int i = 1; i <= n; ++i){
        if( tag[i] ==0 ){
            tag__=i;
            break;
        }
    }
    for(int i = 1; i <= n; ++i){
        if(i != tag__)
            printf("%d %d \n",i,tag__);
    }
};
int main(){
    ios;
    int T=1;
    cin>>T;
    while(T--){
        solve();
    }
    return 0;
}

标签:std,1583Problem,const,md,int,tag,Codeforce,include,define
From: https://www.cnblogs.com/Phrink734/p/18342383

相关文章

  • vscode基于脚手架创建项目(cmd,自用)+ 简单的项目导入方式
    ————————————创建项目*确保下载了node.js以管理员身份运行cmd,切换到vscode存放项目的地方,运行npminstall-g--force@vue/cli准备工作完成在项目存放处打开cmd,运行vuecreatecomponent_dome(component_dome为项目名)选中Manuallyselectfeatures,回车......
  • 【树的直径 求树中距离跟阶段点最远的点】CodeForce1822F.md
    CF1822F-Problem-F-Codeforces题目大意:无根树的每条边为k,定义操作:移动根节点为把当前的根ROOT移动到相邻节点,每次代价为c,定义成本=从ROOT出发到达的最长的路径的长度,利润=成本-代价,求利润最大值\[\begin{align}&\huge\color{red}记得开\text{longlong}\\\\\\&\huge思......
  • Codeforces Round 891 (div.3) D题解析
    CodeForcesRound898(div4)D题.StrongVertices大致思路对于题目的给的式子,au-av>=bu-bv,我们可以通过移项得到au-bu>=av-bv,这样就能够构造出来一个ai-bi的项出来对于构造出来的项,我们可以遍历一遍用数组把每一个项存起来,找到值最大的项,值最大的项所对应的下标就是强顶......
  • Educational Codeforces Round 168 (Rated for Div. 2)-7.30复盘
    A.StrongPassword简单题,找到相同的两个相邻字母之间插一个跟他们不同的大写字母即可inlinevoidsolve(){ cin>>s; intid=0; charhh=''; for(inti=1;i<s.size();i++){ if(s[i-1]==s[i]){ id=i;break; } } for(inti=0;i<26;i++){ if(s[id]!='a'+i&a......
  • Educational Codeforces Round 168 (Rated for Div. 2)
    题目链接:EducationalCodeforcesRound168(RatedforDiv.2)总结:题目较简单,但是发挥很一般。A,B题一直读假题,卡了半个小时;C题用char存int,难绷了。A.StrongPasswordtag:模拟voidsolve(){strings;cin>>s;for(inti=1;i<s.size();i++){......
  • Codeforces Round 891 (Div. 3)
    比赛链接完成度:4/7这场比赛相对于上次那场909div3,题目描述清楚许多(可能是出简单了)。首先是B题,一道模拟四舍五入的题目题目B这题就是简单模拟,我们需要读入一个数字字符串,把他输入到一个数组当中,然后从低位到高位找大于等于5的数,如果找到了,那么之前的数包括这个数都变成0,下一......
  • mdmmigrator.dll文件丢失导致程序无法运行问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个mdmmigrator.dll文件(挑选合适的版本文件)把......
  • CodeForces-808#D 题解
    思路分析分析样例1:3132原数组被分成1和32两部分,将2移到左边即可。我们设左边部分的和为\(s1\),右边为\(s2\),可以发现对于任何分割方式,只有满足\(s1\pmx=s2\mpx\)才可以继续讨论答案是否成立。推论1:由于\(x\ina\)(\(a\)为题目所给数列),因此\(|\s1-s2......
  • ARM和AMD介绍
    一、介绍ARM和AMD都是计算机领域中的知名公司,它们在不同方面具有重要的影响和地位。ARM(AdvancedRISCMachine):ARM公司是一家总部位于英国的公司,专注于设计低功耗、高性能的处理器架构。ARM架构以其精简指令集(RISC)而闻名,被广泛用于移动设备、嵌入式系统、物联网设备等领域。......
  • cmd最全命令.收藏必备
    平台windowsWindows命令提示符(cmd.exe)是WindowsNT下的一个用于运行Windows控制面板程序或某些DOS程序的shell程序;或在WindowsCE下只用于运行控制面板程序的外壳程序。   历史在Windows2000以前的Windows系统中没有此文档;command.com即是此文......