25 条题解

  • 19
    @ 2023-7-29 18:01:41

    这题用暴力枚举就行,n<=100,所以不用考虑超时。

    #include <iostream>
    using namespace std;
    int n,a[105];
    int main()
    {
        cin >> n;
        for (int i=1;i<=n;i++)
        {
            cin >> a[i];
        }
        for (int i=1;i<=n;i++)
        {
            int num=0;
            for (int j=1;j<i;j++)
            {
                if(a[j]<a[i])
                {
                    num++;
                }
            }
            cout << num << " ";
        }
        return 0;
    }
    
    • 6
      @ 2023-4-15 9:55:11

      P1019 小鱼比可爱

      题目描述

      人比人,气死人;鱼比鱼,难死鱼。小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度。参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只鱼的可爱程度,很显然整数越大,表示这只鱼越可爱,而且任意两只鱼的可爱程度可能一样。由于所有的鱼头都朝向左边,所以每只鱼只能看见在它左边的鱼的可爱程度,它们心里都在计算,在自己的眼力范围内有多少只鱼不如自己可爱呢。请你帮这些可爱但是鱼脑不够用的小鱼们计算一下。

      (提炼一下:左边比a[i]小的数有几个)


      思路

      循环枚举第i个数,内循环计数有几个数比a[i]小并输出。

      用到循环枚举

      if(a[i] > a[j])
      {
         sum++;
      }
      

      (如果a[i] > 前面的a[j],sum++)


      参考代码:

      #include <iostream>
      using namespace std;
      int a[100],sum;
      int main()
      {
          int n;
          cin >> n;
          for(int i = 1;i <= n;i++)
          {
              cin >> a[i];
          }
          for(int i = 1;i <= n;i++)
          {
              sum = 0;
              for(int j = 1;j < i;j++)
              {
                  if(a[i] > a[j])
                  {
                      sum++;
                  }
              }
              cout << sum << " ";
          }
      }
      

      hetao3097453

      2023年4月15日

      • 3
        @ 2023-4-14 19:35:22
        #include<bits/stdc++.h>
        using namespace std;
        int main(){
            int x;
            cin>>x;
            int a[105]; //完成"可爱数"值的输入
            for(int i=0;i<x;i++) cin>>a[i];
            for(int i=0;i<x;i++){
                //外循环控制鱼的条数
                //内层循环中就要比较鱼的可爱程度,还要计数
                int ans=0;//比当前鱼可爱值低的鱼的数量的计数
                for(int j=0;j<i;j++){
                    if(a[j]<a[i]) ans++;
                }
                cout<<ans<<" ";
            }
              return 0;
        }
        • 2
          @ 2024-4-24 20:51:07

          一个赞拿走

          #include <iostream>
          using namespace std;
          int n,a[105];
          int main()
          {
              cin >> n;
              for (int i=1;i<=n;i++)
              {
                  cin >> a[i];
              }
              for (int i=1;i<=n;i++)
              {
                  int num=0;
                  for (int j=1;j<i;j++)
                  {
                      if(a[j]<a[i])
                      {
                          num++;
                      }
                  }
                  cout << num << " ";
              }
              return 0;
          }
          
          • 2
            @ 2024-4-5 19:10:52
            #include <iostream>
            #include <algorithm>
            #include <cmath>
            using namespace std;
            int n,a[101],b;
            int main()
            {
                cin>>n;
                for (int i=1;i<=n;i++)
                {
                    b=0;
                    cin>>a[i];
                    for (int j=1;j<=i;j++)
                        if (a[j]<a[i])
                            b++;
                    cout<<b<<" ";
                }
                return 0;
            }
            
            
            • 2
              @ 2023-10-22 10:26:28

              P1019 小鱼比可爱

              题目描述

              人比人,气死人;鱼比鱼,难死鱼。小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度。参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只鱼的可爱程度,很显然整数越大,表示这只鱼越可爱,而且任意两只鱼的可爱程度​可能一样​。由于所有的鱼头都朝向左边,所以每只鱼只能看见在它左边的鱼的可爱程度,它们心里都在计算,在自己的眼力范围内有多少只鱼不如自己可爱呢。请你帮这些可爱但是鱼脑不够用的小鱼们计算一下。

              (提炼一下:左边比a[i]小的数有几个)


              思路

              循环枚举第i个数,内循环计数有几个数比a[i]小并输出。

              用到循环枚举

              if(a[i] > a[j])
              {
                 sum++;
              }
              

              Copy

              (如果a[i] > 前面的a[j],sum++)


              参考代码:

              #include <iostream>
              using namespace std;
              int a[100],sum;
              int main()
              {
                  int n;
                  cin >> n;
                  for(int i = 1;i <= n;i++)
                  {
                      cin >> a[i];
                  }
                  for(int i = 1;i <= n;i++)
                  {
                      sum = 0;
                      for(int j = 1;j < i;j++)
                      {
                          if(a[i] > a[j])
                          {
                              sum++;
                          }
                      }
                      cout << sum << " ";
                  }
              }
              

              Copy


              hetao5487227

              2023年10月22日

              • 1
                @ 2024-1-21 14:44:27

                这道题一个个比对的算法有点像前缀和,但是不能用前缀和,因为它们在比对时的比较量不同,所以可以用暴力枚举来暴力出结果(反正n<=100):

                #include <iostream>
                #include <algorithm>
                #include <cmath>
                using namespace std;
                int n,a[101],b;
                int main()
                {
                    cin>>n;
                    for (int i=1;i<=n;i++)
                    {
                        b=0;
                        cin>>a[i];
                        for (int j=1;j<=i;j++)
                            if (a[j]<a[i])
                                b++;
                        cout<<b<<" ";
                    }
                    return 0;
                }
                
                • 1
                  @ 2023-11-24 23:08:17

                  ` 没啥好说的,暴力枚举直接上

                  #include <bits/stdc++.h>
                  using namespace std;
                  int cnt, n, a[105];
                  int main()
                  {
                  cin >> n;
                  for (int i = 0; i < n; i++)
                  cin >> a[i];
                  for (int i = 0; i < n; i++)
                  {
                  cnt = 0;
                  for (int j = i; j >= 0; j--)
                  if (a[j] < a[i])
                  cnt++;
                  cout << cnt << ' ';
                  }
                  return 0;
                  }
                  
                  ```
                  
                  ```
                  • 1
                    @ 2023-11-19 20:44:50

                    AC代码,赶紧借鉴

                    #include<bits/stdc++.h>
                    using namespace std;
                    int c[101];
                    int main(){
                        int n,a[101];
                        cin>>n;
                        for(int i=1;i<=n;i++)cin>>a[i];
                        cout<<"0"<<" ";
                        for(int i=2;i<=n;i++)for(int j=1;j<i;j++)if(a[j]<a[i])c[i]++;
                        for(int i=2;i<=n;i++)cout<<c[i]<<" ";
                        return 0;
                    }
                    
                    • 0
                      @ 2024-4-14 17:11:17

                      《鱼脑不够》...... 暴力枚举

                      #include <iostream>
                      #include <algorithm>
                      #include <cmath>
                      using namespace std;
                      int n,a[101],b;
                      int main()
                      {
                          cin>>n;
                          for (int i=1;i<=n;i++)
                          {
                              b=0;
                              cin>>a[i];
                              for (int j=1;j<=i;j++)
                                  if (a[j]<a[i])
                                      b++;
                              cout<<b<<" ";
                          }
                          return 0;
                      }
                      
                      • 0
                        @ 2023-10-22 10:23:21
                        #include <iostream>
                        using namespace std;
                        int n,a[105];
                        int main()
                        {
                        cin >> n;
                        for (int i=1;i<=n;i++)
                        {
                        cin >> a[i];
                        }
                        for (int i=1;i<=n;i++)
                        {
                        int num=0;
                        for (int j=1;j<i;j++)
                        {
                        if(a[j]<a[i])
                        {
                        num++;
                        }
                        }
                        cout << num << " ";
                        }
                        return 0;
                        }
                        
                        • 0
                          @ 2023-9-2 22:23:06

                          yasuo👀️

                          #include <iostream>
                          int main(){
                              int n,a[105],sum[105]={}; std::cin>>n; for(int i=0;i<n;i++)std::cin>>a[i];
                              for(int i=0;i<n;i++)for(int j=i-1;j>=0;j--)if(a[i]>a[j])sum[i]++;
                              for(int i=0;i<n;i++)std::cout<<sum[i]<<" "; return 0;}
                          
                          • 0
                            @ 2023-8-23 8:00:56

                            这题非常的简单哈,我的代码其实是:space XD等写法的一个缩减。 这个题主要用的是暴力枚举,(for循环)。 上代码

                            #include <bits/stdc++.h>
                            using namespace std;
                            int main()
                            {
                                int n,a[10000005],sum;//没有初始化,直接在这里写了。
                                cin>>n;
                                for(int i=1;i<=n;i++)
                                {
                                    sum=0;
                                    cin>>a[i];//因为只用这个数字左边的数据,所以两个循环可以融为一体。
                                    for(int j=1;j<=i;j++)
                                    {
                                        if(a[j]<a[i])
                                        {
                                            sum++;
                                        }
                                    }
                                    cout<<sum<<" ";
                                }
                            }
                            

                            //制作不易,点个赞再走吧。

                            😄 🎉️ 
                            
                            
                            
                            • @ 2023-8-23 8:02:05

                              祝大家开心,代码是可以AC的嗷。

                          • 0
                            @ 2023-8-20 14:36:26

                            可以在输入是就进行判断,可以少一些事。

                            #include<bits/stdc++.h>
                            using namespace std;
                            int i , a[105];
                            int main()
                            {
                                cin >> i;
                                for (int j = 1 ;j <= i;j ++){
                                    cin >> a[j];
                                    int sum  = 0;
                                    for (int k = 1 ; k < j; k ++){
                                        if (a[k] < a[j]){
                                            sum ++;
                                        }
                                        
                                    }
                                    cout << sum << ' ';
                                }
                                return 0;
                            }
                            
                            • 0
                              @ 2023-8-11 8:56:04
                              #include<bits/stdc++.h>
                              using namespace std;
                              int a[105];
                              int main()
                              {
                                  int n;
                                  cin >> n;
                                  for(int i = 1;i <= n;i++)
                                  {
                                      cin >> a[i];
                                  }
                                  int sum = 0;
                                  for (int i = 1;i <= n;i++)
                                  {
                                      for(int j = 1;j < i;j++)
                                      {
                                          if(a[j]<a[i])
                                          {
                                              sum++;
                                          }
                                      }
                                      cout << sum << " ";
                                      sum = 0;
                                  }
                                  return 0;
                              }
                              
                              • 0
                                @ 2023-7-31 8:38:01
                                #include <bits/stdc++.h> 
                                using namespace std;
                                int n,a[101],b[101];
                                int main()
                                {
                                    cin>>n;
                                    for(int i=1;i<=n;i++)
                                    {
                                        cin>>a[i];
                                    }
                                    for(int i=1;i<=n;i++)
                                    {
                                        for(int j=1;j<i;j++)
                                        {
                                            if(a[j]<a[i])
                                            {
                                                b[i]++;
                                            }
                                        }
                                        cout<<b[i]<<' ';
                                    }
                                    return 0;
                                }
                                
                                • 0
                                  @ 2023-5-2 19:42:40

                                  本题只发核心代码,望理解

                                  n的范围较小,可以用暴力枚举 小鱼们在比较的时候是面向左的,所以要用循环从大到小遍历比较

                                  核心代码如下

                                  	for(int i = 1;i <= n;i++){
                                  		for(int j = i;j >= 1;j--){
                                  			if(a[i] > a[j])
                                  			    ans[i]++;
                                  		}
                                  	}
                                  
                                  • 0
                                    @ 2023-4-15 18:53:17
                                    #include <iostream>
                                    using namespace std;
                                    int a[100],sum;
                                    int main()
                                    {
                                        int n;
                                        cin >> n;
                                        for(int i = 1;i <= n;i++)
                                        {
                                            cin >> a[i];
                                        }
                                        for(int i = 1;i <= n;i++)
                                        {
                                            sum = 0;
                                            for(int j = 1;j < i;j++)
                                            {
                                                if(a[i] > a[j])
                                                {
                                                    sum++;
                                                }
                                            }
                                            cout << sum << " ";
                                        }
                                    }
                                    

                                    Copy

                                    • -1
                                      @ 2024-4-3 20:34:08

                                      # 数据小,直接枚举

                                      #include <bits/stdc++.h> using namespace std;

                                      int a[105];

                                      int main(){ int n; cin>>n; for (int i=1;i<=n;i++) cin>>a[i]; cout<<0<<" "; for (int i=2;i<=n;i++){ int cnt=0; for (int j=1;j<i;j++) if (a[j]<a[i]) cnt++; cout<<cnt<<" "; } return 0; }

                                      • -1
                                        @ 2024-3-31 14:58:04

                                        这道题不是很难,用暴力就能AC。

                                        using namespace std;
                                        int n,a[3005],s;
                                        int main(){
                                            scanf("%d",&n);//输入。
                                            for(int i=1;i<=n;i++)
                                            {
                                                scanf("%d",&a[i]);//重复n次输入。
                                                s=0;
                                            for(int j=1;j<=i-1;j++)
                                                if(a[i]>a[j]){s++;}//如果有比自己更难看的,就累加。
                                                printf("%d ",s);//输出收尾。
                                            }
                                            return 0;
                                        }//完(OwO)!!!
                                        

                                        信息

                                        ID
                                        11
                                        时间
                                        1000ms
                                        内存
                                        256MiB
                                        难度
                                        2
                                        标签
                                        递交数
                                        1850
                                        已通过
                                        1158
                                        上传者