没腿的鸟 发表于 2024-11-15 00:10:32

xtu oj 聚会

回顾



[*]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 删除
代码

#include<stdio.h>
#define N 10010
int a;
void sort(int q[],int l,int r){//快速排序模板
        if(l>=r){
                return;
        }
        int i=l-1,j=r+1,x=q[(l+r)/2];
        while(i<j){
                do{
                        i++;
                }while(q<x);
                do{
                        j--;
                }while(q>x);
                if(i<j){
                        int temp=q;
                        q=q;
                        q=temp;
                }
        }
        sort(q,l,j);
        sort(q,j+1,r);
}
int main(){
        int t;
        scanf("%d",&t);
        while(t--){
                int n;
                scanf("%d",&n);//所有朋友的个数
                for(int i=0;i<n;i++){
                        scanf("%d",&a);
                }
                sort(a,0,n-1);
                int sum=1;//现在有多少人来聚会了
                int ans=0;//会来多少朋友
                for(int i=0;i<n;i++){
                        if(a<=sum){//至少来 sum 个朋友,i 这个朋友就会来
                                ans++;//多一个朋友来
                                sum++;//聚会的总人数多一个
                        }
                }
                printf("%d\n",ans);
        }
        return 0;
}
思绪

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

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