本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。
欢迎大家订阅我的专栏:算法题解:C++与Python实现!
附上汇总贴:算法竞赛备考冲刺必刷题(C++) | 汇总
【题目来源】
排位
【题目描述】
有n nn个人排成了一队,小X就在其中。
他不知道自己的确切排位,但是他能确定的是,排在他前面的人不少于a aa个,排在他后面的人不超过b bb个。
请问,对于他的具体排位,一共有多少种可能性?
【输入】
第一行包含整数T TT,表示共有T TT组数据。
每组数据占一行,包含三个整数n , a , b n,a,bn,a,b。
【输出】
每组数据输出一行结果,一个整数,表示小X具体排位的可能数量。
【输入样例】
2 3 1 1 5 2 3【输出样例】
2 3【算法标签】
#数学#
【代码详解】
#include<bits/stdc++.h>usingnamespacestd;intt;intmain(){cin>>t;for(inti=1;i<=t;i++){intn,a,b;cin>>n>>a>>b;// 分三种情况计算if(a+b==n){cout<<b<<endl;// 如果刚好坐满,则b的个数就是b}if(a+b<n){cout<<b+1<<endl;// 如果还有空位,b可以多坐一个人}if(a+b>n){cout<<n-a<<endl;// 如果座位不够,剩余的座位全给b}}return0;}【运行结果】
2 3 1 1 2 5 2 3 3