Robot Rapping Results Report

RTKLIB使用方法(喂饭版)(三)——RTKPOST 应用OTL校正需要在“files”的“ocean loading BLQ format”中配置OTL文件。应用极潮需要在“files”的“EOP data file”配置ERP(地球旋转参数)文件。RAIM FDE:设置是否启用RAIM(接收机自主完整性监控)FDE(故障检测和排除)功能。点击下方的“save”可以把配置保存成文件,点击“load”就可以把配置文件加载出来。4接收机动态模型/地球潮汐矫正:设置流动站接收机动力学模型,只可以使用在DGPS/DGNSS或动态模型中。选择流动站天线的类型。 阅读详情

题目:

While Farmer John rebuilds his farm in an unfamiliar portion of Bovinia, Bessie is out trying some alternative jobs. In her new gig as a reporter, Bessie needs to know about programming competition results as quickly as possible. When she covers the 2016 Robot Rap Battle Tournament, she notices that all of the robots operate under deterministic algorithms. In particular, robot i will beat robot j if and only if robot i has a higher skill level than robot j. And if robot i beats robot j and robot j beats robot k, then robot i will beat robot k. Since rapping is such a subtle art, two robots can never have the same skill level.

Given the results of the rap battles in the order in which they were played, determine the minimum number of first rap battles that needed to take place before Bessie could order all of the robots by skill level.

Input

The first line of the input consists of two integers, the number of robots n (2 ≤ n ≤ 100 000) and the number of rap battles m ().

The next m lines describe the results of the rap battles in the order they took place. Each consists of two integers ui and vi (1 ≤ ui, vi ≤ n, ui ≠ vi), indicating that robot ui beat robot vi in the i-th rap battle. No two rap battles involve the same pair of robots.

It is guaranteed that at least one ordering of the robots satisfies all m relations.

Output

Print the minimum k such that the ordering of the robots by skill level is uniquely defined by the first krap battles. If there exists more than one ordering that satisfies all m relations, output -1.

Examples

Input

4 5
2 1
1 3
2 3
4 2
4 3

Output

4

Input

3 2
1 2
3 2

Output

-1

Note

In the first sample, the robots from strongest to weakest must be (4, 2, 1, 3), which Bessie can deduce after knowing the results of the first four rap battles.

In the second sample, both (1, 3, 2) and (3, 1, 2) are possible orderings of the robots from strongest to weakest after both rap battles.

 

题意:

给定n个机器人的m个能力大小关系,问你至少要前几个大小关系就可以得到所有机器人的能力顺序。

 

思路:

拓扑排序,每次保证入度为0的只有一个,同时记录编号最大的边。

 

代码:

#include<stdio.h>
#include<string.h>
struct node
{
    int x,y,next;
} e[100861];
int head[100861],book[100861]= {0},b[100861];
int main()
{
    memset(head,-1,sizeof(head));
    int n,m,a;
    scanf("%d%d",&n,&m);
    for(int i=1; i<=m; i++)
    {
        scanf("%d%d",&e[i].x,&e[i].y);
        e[i].next=head[e[i].x];
        head[e[i].x]=i;
        book[e[i].y]++;
    }
    int sum=0,flag=1,maxx=0,f;
    for(int i=1; i<=n; i++)
        if(book[i]==0)
        {
            b[sum++]=i;
        }
    if(sum!=1)
        flag=0;
    for(int i=0; i<sum; i++)
    {
        int num=0;
        for(int j=head[b[i]]; j!=-1; j=e[j].next)
        {
            book[e[j].y]--;
            if(book[e[j].y]==0)
            {
                b[sum++]=e[j].y;
                num++;
                if(j>maxx)
                    maxx=j;
            }
        }
        if(num>1)
            flag=0;
    }
    if(flag==0||sum<n)
        printf("-1\n");
    else
        printf("%d\n",maxx);
    return 0;
}

 

095、PCIE物理层测试模式:从信号眼图到误码率实战 本文介绍了PCIe物理层测试模式的调试方法和实战经验。重点解析了环回测试、合规性测试和静默模式的应用场景及配置要点,分享了信号眼图分析、误码率测试和接收端验证的实用技巧。作者结合自身调试经历,强调物理层测试对排查信号完整性问题的重要性,建议在量产前进行基础测试,并提醒注意芯片勘误和测试模式切换等易错点。通过合理使用测试模式,可显著提高PCIe链路调试效率,确保物理层稳定可靠。 阅读详情

相关推荐

iOS Certificates, Identifiers & Profiles简介

1. Certificates Certificates是生成开发和生产所需的证书。 2.1 certSigningRequest文件 生成证书前,需要先生成certSigningRequest文件,certSigningRequest文件由【钥匙串访问】生成。 选择菜单【钥匙串访问】,【证书助理】下的【从证书颁发机构请求证书…】 填写【用户电子邮件地址: 】,将【请求是:】的选项改为【储存到磁盘】 输入certSigningRequest文件的文件名,并指定保存位置。 保存certSignin

假装你是大灰狼的专栏 7057

D. Robot Rapping Results Report(拓扑排序)

http://codeforces.com/contest/645/problem/D D. Robot Rapping Results Report time limit per test 2 seconds memory limit per test 256 megabytes input standard input output

雪的期许 607

蓝桥杯算法:打印图形——六芒星

【输入格式】 输入一行包含一个整数 n。 【输出格式】 输出一个六芒星,表示满足题意的图形。 【样例输入】 3 4 【样例输出】 【评测用例规模与约定】 对于所有评测用例,1 ≤ n ≤ 20。 总结: 第一次做图形题,做了蛮久,图形题有很多的方式去完成,它考验的是你能不能找到更简单的那一种方式. 我初看到这个图形,第一种想法是把这个六芒星当做六个小三角形来做,然后以某种规则排列一下,就能做出来,但是尝试了一下感觉太麻烦了。 然后我的第二种想法是,这个图形是对称图形,怎么能写出一半吗? 这样另一半想办

KeepCodeing 3835

Codeforces 645D Robot Rapping Results Report【拓扑排序+二分】

题目链接: http://codeforces.com/problemset/problem/645/D 题意: 给定n个机器人的m个能力大小关系,问你至少要前几个大小关系就可以得到所有机器人的能力顺序。 分析: 拓扑+二分。 注意最终的顺序不能缺点,先把度为0的点入队,如果度为0的点的个数大于1,则说明至少有两个点的能力大小不确定,无法继续。 ...

An55511的博客 217

决策规划算法四:Piecewise Jerk Path Optimizer

一,问题分析 路径规划的本质目的:规划出一条安全(无碰撞),舒适(平滑),符合车辆运动学的轨迹。 如下图所示,决策算法开辟凸空间后,路径规划算法用数值优化的方法搜索出一条最优路径,即将问题转化为二次规划的问题,采用二次规划的求解器进行求解。 二次规划问题的求解顺序: 1,确定优化变量 2,确定目标函数 3,确定约束条件 4,将目标函数和约束条件变形为二次规划的标准形式 5,用二次规划求解器进行求解,获得优化变量的序列,使得目标函数取得最小值。 注:路径的最终表达式为:,..

肥嘟嘟的左卫门 8560

基于Python批量获取过去某地某时的天气数据

此段代码为经Visual Weather API官网样例后修改。原代码返回数据格式为json,经测试json风速字段不可用,后改为返回数据格式为csv。若修改weather_api_endpoint,还可获取该地点的预测数据,但返回数据字段可能发生变化,请以官网文档为准。获取到的字段包括:平均温度、露点、湿度、风速、降雨量、能见度、云量、天气类型等。目的:已知某一地址,获取过去某一时间该地的天气数据,并能够批量运行。这一步也会有获取不到的时间和地点,因此为空白。此段代码为经百度地图api官网样例后修改。

wiseman1233的博客 904

CodeForces - 645D Robot Rapping Results Report

While Farmer John rebuilds his farm in an unfamiliar portion of Bovinia, Bessie is out trying some alternative jobs. In her new gig as a reporter, Bessie needs to know about programming competition re...

GJLfly的博客 313

西门子S7-1200模拟量的使用

模块类型核心参数输入信号处理输出信号配置转换原理数值范围TIA Portal配置编程要点 转换公式: 输出模拟量: 五、校准与线性化 硬件校准非线性补偿抗干扰措施数字滤波温度控制压力监控流量调节信号异常精度不足实践操作参考文档项目案例借鉴博客

weixin_51020122的博客 4768

Codeforces - Robot Rapping Results Report

题目链接:Codeforces - Robot Rapping Results Report 显然个数可以二分。然后判断是否拓扑序唯一即可。 拓扑序唯一则,任何时刻,队列当中都只有一个元素。否则不唯一。 AC代码: #pragma GCC optimize("-Ofast","-funroll-all-loops") #include<bits/stdc++.h> //#defin...

青烟绕指柔的博客 321

Agile Modbus使用和学习笔记

i < len;这里仅仅需要提供获取函数即可,离散输入是只读类型i++) {return 0;只读类型寄存器i++) {return 0;i < len;

Car12 167

华为OD机试真题-查找单入口空闲区域(Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【查找单入口空闲区域】,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - 查找单入口空闲区域。

qq_45776114的博客 1268

A - Robot Rapping Results Report

题目: While Farmer John rebuilds his farm in an unfamiliar portion of Bovinia, Bessie is out trying some alternative jobs. In her new gig as a reporter, Bessie needs to know about programming competiti...

titi2018815的博客 217

Qt之QMqtt 发送图片数据

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议;MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛;在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT);其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用;

Ilson_的博客 1436

Codeforces 645D Robot Rapping Results Report 【dp】

题目链接:Codeforces 655D Robot Rapping Results Report

世界很大 681

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

题解:CF645D Robot Rapping Results Report

运用拓扑排序解 CF654D

Terry_TIT的博客 1234

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Robot Rapping Results Report CodeForces - 645D

While Farmer John rebuilds his farm in an unfamiliar portion of Bovinia, Bessie is out trying some alternative jobs. In her new gig as a reporter, Bessie needs to know about programming competition re...

Qtt110的博客 241

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

D. Robot Rapping Results Report(拓扑排序+二分)

问题有明显的单调性,考虑每次用拓扑排序检验正确性 Ⅰ.如果拓扑排序结束,还有点没被入队过,说明有环,有环是无法确定的Ⅰ.如果拓扑排序结束,还有点没被入队过,说明有环,有环是无法确定的Ⅰ.如果拓扑排序结束,还有点没被入队过,说明有环,有环是无法确定的 Ⅱ.每次删掉一个点后,会把周围点的入度减减,但是一次最多只有一个点入度变成0.Ⅱ.每次删掉一个点后,会把周围点的入度减减,但是一次最多只有一个点入度变成0.Ⅱ.每次删掉一个点后,会把周围点的入度减减,但是一次最多只有一个点入度变成0. 如果多于这个数,那么这几个

jziwjxjd的博客 430

codeforces 645 D Robot Rapping Results Report 【树形dp】

链接:http://codeforces.com/problemset/problem/645/D 题意:给你n个人,和m条关系(有传递性),输入a b代表a比b的等级大,问你最少用到前多少条关系可以确定唯一的关系顺序。不能输出-1。 分析:题意说了不会有两个在同一等级,所以不存在环,且入度为零的点不唯一输出-1。由于不存在环,所以我们可以在图中找到最长链(一定唯一,包含所有节点),在找最长链

Fb_by 546

CodeForces 645D Robot Rapping Results Report(二分+拓扑排序)

题意:有很多机器人,其中如果1号打败2号,2号打败3号,那么1号也可以打败3号,给你m场比赛的结果,问最少需要知道前几场就可以确定机器人的排名 思路:二分答案,然后拓扑排序看看是否成一条直线即可 #include #include #include #include #include #include #include #include #include #inclu

围巾的ACM博客 800

CodeForces 645D Robot Rapping Results Report

二分,拓扑排序。 二分答案,然后进行拓扑排序检查,若某次发现存在两个或者两个以上入度为$0$的节点,那么不可行。 #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #include<cstring> #include<cmath> #include&l...

weixin_33825683的博客 155
上一篇: Not so Mobile
下一篇: Super Jumping! Jumping! Jumping!
admin__
博客等级 码龄8年 3粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值