题目描述
有nnn名选手会进行mmm次比赛,每次比赛不会出现平局的情况,只会有一个胜者。在每次比赛完成之后,我们视胜者选手的实力比败者选手的实力强,如果出现选手AAA打败选手BBB,选手BBB打败选手CCC,选手CCC打败选手AAA,则视为他们的实力全部相同。
若该赛季最终冠军是属于实力最强者,请问依照现在已有的比赛结果,最多有多少个选手可能获得冠军(如果已知两个人的实力一样强,那么他们两个人都不能获得冠军)。
输入描述:
第一行输入两个正整数nnn,mmm,其中:n≤105n\leq 10^{5}n≤105,m≤105m\leq 10^{5}m≤105。
接下来mmm行,每行两个正整数aaa与bbb,代表选手aaa战胜了选手bbb,满足:a≤na\leq na≤n,b≤nb\leq nb≤n。
输出描述:
输出最多有多少名选手最终可能获得冠军。
示例1
输入
3 2 1 2 1 3
输出
1
思路:
思路就是前一个数大于后一个数,所以后一个数是不可能获得冠军的,所以吧后边的数记录下来再用所有的数减去他就是最多有多少个获得冠军。
#include<iostream>
#include<cstdio>
using namespace std;
const int n=100010;
int a[n]={0};
int main()
{
int b,number,number1=0;