14 条题解

  • 29
    @ 2023-1-25 21:14:15

    本题可以题解,如果忘了如何写请不要回头翻看讲义或者观看课程视频。保证自己可以依靠外力手写排序代码。

    使用sort排序并不会被取消成绩,请知悉。

    • @ 2023-6-29 18:57:10

      我点了个大大的赞(给你)!!!

    • @ 2023-8-28 11:04:49

      给你赞

    • @ 2023-10-20 21:46:21

      @ Me too.

    • @ 2023-10-22 14:15:55

      👍

    • @ 2023-12-9 14:16:27

      非常同意,我就用的sort函数

    • @ 2024-5-8 18:07:26

      外加:复制代码不要紧

      #include<bits/stdc++.h>using namespace std;
      int main(){
      int b,a[1000],c;cin>>b;
      for(c=1;c<=b;c++)cin>>a[c];
      sort(a+1,a+1+b);
      for(c=1;c<=b;c++)cout<<a[c]<<' ';
      return 0;
      }
      
  • 7
    @ 2023-2-7 10:02:52

    AKA奥利给独家秘制题解

    #include <iostream>
    using namespace std;
    void sort(int *src, int len)
    {
        int tem;
        for (int i = 0; i < len; i++)
            for (int j = 0; j < len - i - 1; j++)
                if (src[j] > src[j+1])
                {
                    tem = src[j];
                    src[j] = src[j+1];
                    src[j+1] = tem;
                }
    }
    int main()
    {
        int *num, n = 0;
        cin >> n;
        if (n <= 0)
        {
            cout << "AKA奥利给" << endl;
            return -1;
        }
        num = new int[n];
        for (int i = 0; i < n; i++)
            cin >> num[i];
        sort(num, n);
        for (int i = 0; i < n; i++)
            cout << num[i] << ' ';
        cout << endl;
        delete [] num;
        return 0;
    }
    
    • @ 2023-12-9 14:16:43

      这是啥啊?

    • @ 2023-12-9 14:17:41

      #include <bits/stdc++.h>

      using namespace std;

      int main()

      {

      int n,a[1005];

      cin >> n;

      for (int i = 1;i <= n;i++)

      {

      cin >> a[i];
      

      }

      sort(a+1,a+1+n);

      for (int i = 1;i <= n;i++)

      {

      cout << a[i] << " ";

      } } 这个好

    • @ 2024-2-4 20:46:35
      if (n <= 0)
          {
              cout << "AKA奥利给" << endl;
              return -1;
          }
      

      这是什么

  • 4
    @ 2023-10-25 18:51:40

    我独家制作的题解,建议直接Copy,不要改任何代码哦!!!请悉知!!!

    #include <bits/stdc++.h>
    using namespace std;
    int n, a[10005], x, maxn = -1;
    int main()
    {
        while(1)
        {
            cout << "圣皇(hetao815606)" << endl;
        }
        cin >> n;
        for (int i = 1; i <= n; i++)
        {
            cin >> x;
            a[x]++;
            maxn = max(maxn, x);
        }
        for (int i = 1; i <= maxn; i++)
        {
            for (int j = 1; j <= a[i]; j++)
                cout << i << " ";
        }
        return 0;
    }
    
  • 3
    @ 2023-8-26 18:43:54

    这玩意不和上一题一样? (所以我把他给复制粘贴过来了) 这里我用了较好理解的冒泡排序,比较简单:首先读取输入,然后嵌套循环,循环里面塞个if:如果前一个比下一个大就互换(注意了!别数组越界了!),最后一个for+输出,就完成了,十分简单是不是,“只要”30行哦!(可恶!不让我用sort),代码如下:

    #include<bits/stdc++.h>
    using namespace std;
    long long n,a[100000000],b;
    int main(){
        cin>>n;
        for(int i=0;i<n;i++){
            cin>>a[i];
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(a[j]>a[j+1]){
                    b=a[j];
                    a[j]=a[j+1];
                    a[j+1]=b;
        }
            }
                }
        for(int i=1;i<=n;i++){
            cout<<a[i]<<" ";
        }
        return 0;
    }
    
    • @ 2023-8-26 18:45:34

      为什么复制过来的没有语法高亮???????

  • 2
    @ 2023-9-2 22:00:01

    过辣!

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n,nnin=114514,nnax=-114514;
        cin>>n;
        int a[n+1];
        for (int i=1;i<=n;i++)
        {
            cin>>a[i];
            if (a[i]<nnin)nnin=a[i];
            if (a[i]>nnax)nnax=a[i];
        }
        int b[nnax-nnin+1];
        for (int i=1;i<=nnax-nnin;i++)b[i]=0;
        for (int i=1;i<=n;i++)
        {
            b[a[i]-nnin]+=1;
        }
        for (int i=0;i<=nnax-nnin;i++)//每个数都输出
        {
            for (int j=1;j<=b[i];j++)
            {
                cout<<nnin+i<<" ";
            }
        }
        return 0;
    }
    
  • 1
    @ 2024-5-4 11:05:44
    #include <bits/stdc++.h>
    using namespace std;
    int n, x, a[10005];
    int main()
    {
        cin >> n;
        for (int i = 1; i <= n; i++)
        {
            cin >> x;
            a[x]++;
        }
        for (int i = 1; i <= 10005; i++)
        {
            for (int j = 1; j <= a[i]; j++)
            {
                cout << i << " ";
            }
        }
        return 0;
    }
    
    • 1
      @ 2024-4-14 19:52:57
      #include <bits/stdc++.h>
      using namespace std;
      int main()
      {
          int n,a[1000000],x;
          cin>>n;
          for(int i=1;i<=n;i++)
          {
              cin>>x;
              a[x]++;
          }
          for(int i=1;i<=100000;i++)
          {
              for(int j=1;j<=a[i];j++)
              {
                  cout<<i<<" ";
              }
          }
          return 0;
      }
      凑合着看看
      
      • @ 2024-4-14 19:54:13

        为什么没有炫彩的颜色,是我还不够非吗👀️

    • 1
      @ 2024-3-24 12:51:42
      #include <bits/stdc++.h>
      using namespace std;
      const int N=1e5+10;
      int n,a[N],c[N];
      void Mergesort(int l,int r){
      	if (l==r)return;
      	int i,j,k,mid;
      	mid=(l+r)/2;
      	Mergesort(l,mid);
      	Mergesort(mid+1,r);
      	i=l;
      	j=mid+1;
      	k=l;
      	while (i<=mid&&j<=r){
      		if (a[i]<=a[j])c[k++]=a[i++];
      		else c[k++]=a[j++];
      	}
      	while (i<=mid)c[k++]=a[i++];
      	while (j<=r)c[k++]=a[j++];
      	for (int i=l;i<=r;i++)a[i]=c[i];
      }
      int main(){
      	scanf("%d",&n);
      	for (int i=1;i<=n;i++)scanf("%d",&a[i]);
      	Mergesort(1,n);
      	for (int i=1;i<=n;i++)printf("%d ",a[i]);
      	return 0;
      }
      
      • 0
        @ 2024-5-18 13:16:12

        或许可以用桶排

        #include <bits/stdc++.h>
        using namespace std;
        int n, a[10005], num;
        int main() {
        	scanf("%d", &n);
        	for (int i = 1; i <= n; i++)
        		scanf("%d", &num), a[num]++;
        	for (int i = 0; i <= 10000; i++) 
        		for(int j=1;j<=a[i];j++)
        			printf("%d ", i);
        	return 0;
        }
        
        • -1
          @ 2023-6-9 13:58:18
          #include<bits/stdc++.h>
          using namespace std;
          int n,x,a[100001];
          int main(){   
              cin>>n;
              for(int i=1;i<=n;i++){
                  cin>>x;
                  a[i]=x;
              }for(int i=1;i<=n-1;i++)
                  for(int j=i+1;j<=n;j++)
                      if(a[i]>a[j])
                          swap(a[i],a[j]);
              for(int i=1;i<=n;i++)
                  cout<<a[i]<<' ';
              return 0;
          }
          
          
          </span>
          • -3
            @ 2023-7-20 16:34:04

            我TLE了

            • -3
              @ 2022-4-29 13:15:15

              本题禁止题解,如果忘了如何写请回头翻看讲义或者观看课程视频。保证自己可以不依靠外力手写排序代码。

              使用sort排序会被取消成绩,请知悉。

              • @ 2022-7-31 18:49:39

                请问源老师,我这个代码哪里错了?

                #include<bits/stdc++.h>
                using namespace std;
                int n,a[100000],num[100000]; 
                int main()
                {
                	cin>>n;
                	for(int i=1;i<=n;i++)
                	{
                		int x;
                		cin>>x;
                		num[x]++;
                	}
                	for(int i=1;i<=100000;i++)
                	{
                		if(num[i]>0) cout<<i<<" ";
                	}
                	return 0;
                }
                
              • @ 2022-8-1 15:02:26

                @ 这个题目不能去重,所有都要输出

            • -5
              @ 2023-4-30 12:41:14

              我就用sort(喜

              • -7
                @ 2023-2-18 20:19:23

                本题绝对要解题,不会要抄答案,一定要保证百分百准确的答案,要抄的话一定要用sort排序,不用会取消成绩,请悉知

              • 1

              信息

              ID
              1472
              时间
              1000ms
              内存
              256MiB
              难度
              6
              标签
              递交数
              2085
              已通过
              598
              上传者