标签:没有 lap sizeof set splay collect 记录 main 比赛
题意:(这个题意太难懂了/(ㄒoㄒ)/~~)给n场比赛的排名,n场比赛后还有x场比赛,求n+x场比赛后排名从1开始能连续的最大的排名数
题解:用数组b记录排名出现的次数,来判断这个排名数有没有出现过。然后从排名1开始,如果这个排名没有出现过,x--,用x里的一场比赛来填补这个名次,直到x=0为止;然后从排名1开始找,找到最大的排名
#include<iostream> #include<algorithm> #include<cstdio> #include<cmath> #include<cstring> #include<string> using namespace std; int a[110]; int b[210]; int main(){ int t; cin>>t; while(t--){ int n,x; cin>>n>>x; memset(b,0,sizeof(b)); for(int i=1;i<=n;i++){ cin>>a[i]; b[a[i]]++; } for(int i=1;x>0&&i<=200;i++){ if(b[i]==0){ b[i]=1; x--; } } for(int i=1;;i++){ if(b[i]==0){ cout<<i-1<<endl; break; } } } return 0; }
标签:没有 lap sizeof set splay collect 记录 main 比赛
原文地址:https://www.cnblogs.com/yy0826/p/13032907.html