xtu oj 聚会

打印 上一主题 下一主题

主题 860|帖子 860|积分 2580

回顾



  • A+B III
  • 问题 H: 三角数
  • 问题 G: 3个数
  • 等式 数组下标查询,降低时间复杂度
  • 1405 问题 E: 世界杯
  • xtu 数码串
  • xtu oj 神经网络
  • xtu oj 1167 逆序数(大数据)
  • xtu oj 原根
  • xtu oj 不定方程的正整数解
  • xtu oj 最多的可变换字符串
  • xtu oj String I
  • xtu oj 字母序列
  • xtu oj 分段
  • xtu oj 完全平方数II
  • xtu oj 连接字符串
  • xtu oj 2021
  • xtu oj 数字
  • xtu oj 删除
代码

  1. #include<stdio.h>
  2. #define N 10010
  3. int a[N];
  4. void sort(int q[],int l,int r){//快速排序模板
  5.         if(l>=r){
  6.                 return;
  7.         }
  8.         int i=l-1,j=r+1,x=q[(l+r)/2];
  9.         while(i<j){
  10.                 do{
  11.                         i++;
  12.                 }while(q[i]<x);
  13.                 do{
  14.                         j--;
  15.                 }while(q[j]>x);
  16.                 if(i<j){
  17.                         int temp=q[i];
  18.                         q[i]=q[j];
  19.                         q[j]=temp;
  20.                 }
  21.         }
  22.         sort(q,l,j);
  23.         sort(q,j+1,r);
  24. }
  25. int main(){
  26.         int t;
  27.         scanf("%d",&t);
  28.         while(t--){
  29.                 int n;
  30.                 scanf("%d",&n);//所有朋友的个数
  31.                 for(int i=0;i<n;i++){
  32.                         scanf("%d",&a[i]);
  33.                 }
  34.                 sort(a,0,n-1);
  35.                 int sum=1;//现在有多少人来聚会了
  36.                 int ans=0;//会来多少朋友
  37.                 for(int i=0;i<n;i++){
  38.                         if(a[i]<=sum){//至少来 sum 个朋友,i 这个朋友就会来
  39.                                 ans++;//多一个朋友来
  40.                                 sum++;//聚会的总人数多一个
  41.                         }
  42.                 }
  43.                 printf("%d\n",ans);
  44.         }
  45.         return 0;
  46. }
复制代码
思绪

  1. #include<stdio.h>
  2. #define N 10010
  3. int a[N];
  4. int main(){
  5.         int t;
  6.         scanf("%d",&t);
  7.         while(t--){
  8.                 int n;
  9.                 scanf("%d",&n);//所有朋友的个数
  10.                 for(int i=0;i<n;i++){
  11.                         scanf("%d",&a[i]);
  12.                 }
  13.                 int sum=1;//现在有多少人来聚会了
  14.                 int ans=0;//会来多少朋友
  15.                 for(int i=0;i<n;i++){
  16.                         if(a[i]<=sum){//至少来 sum 个朋友,i 这个朋友就会来
  17.                                 ans++;//多一个朋友来
  18.                                 sum++;//聚会的总人数多一个
  19.                         }
  20.                 }
  21.                 printf("%d\n",ans);
  22.         }
  23.         return 0;
  24. }
复制代码
为啥直接 WA 了,样例也能过,然后也不会出现需要用 long long 的情况。嗷嗷,不是按照次序排的。哈哈哈。贪心地做,就是让那种要求低的朋侪排在前面,如许来聚会的人就会尽大概多。
排序一下就过了,幸福。
但是我这里写了一个快速排序的模板,有没有啥简朴一点的办法来排序呢?要是找到了更好的办法会更新在品评区。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

没腿的鸟

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表