hdu 2018(母牛问题)2019(数列有序!)2020(绝对值排序 )2021(发工资)2022(海选女主角)

Posted Emilylice

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu 2018(母牛问题)2019(数列有序!)2020(绝对值排序 )2021(发工资)2022(海选女主角)相关的知识,希望对你有一定的参考价值。

要发现它的规律,题n年牛的总数等于n-1年的母牛数加上第n年新增的母牛数,第n年只有n-3年的那些母牛才能产母牛,所以第n年的母牛数等于第n-1和n-3年的母牛数的和,即sum(n)=sum(n-1)+sum(n-3),可用递归来做

 1 #include<cstdio>
 2 #include<cmath>
 3 #include<string.h>
 4 #include<iostream>
 5 #include<algorithm>
 6 using namespace std;
 7 
 8 int  zongshu(int n)
 9 {
10     if(n>0&&n<5)
11         return n;
12     else
13     {
14         return zongshu(n-1)+zongshu(n-3);
15     }
16 }
17 
18 int main()
19 {
20    int n;
21    int sum;
22     while(scanf("%d",&n)!=EOF)
23     {
24        if(n==0)
25        {
26            break;
27        }
28        sum=zongshu(n);
29        printf("%d\n",sum);
30     }
31     return 0;
32 }

hdu 2019

没做出来

 1 #include<cstdio>
 2 #include<cmath>
 3 #include<string.h>
 4 #include<iostream>
 5 #include<algorithm>
 6 using namespace std;
 7 
 8 int main()
 9 {
10    int n,m,j;
11    int a[110];
12     while(scanf("%d%d",&n,&m)!=EOF)
13     {
14        if(n==0&&m==0)
15        {
16            break;
17        }
18        for(int i=0;i<n;i++)
19        {
20             scanf("%d",&a[i]);
21        }
22         for(int i=0;i<n;i++)
23         {
24              if(m<=a[i])
25              {
26                 j=i;
27                 break;
28              }
29         }
30          for(int i=n;i>j;i--)//关键处
31              a[i]=a[i-1];
32         a[j]=m;
33           printf("%d",a[0]);
34           for(int i=1;i<=n;i++)
35                  printf(" %d",a[i]);
36         printf("\n");
37     }
38     return 0;
39 }

hdu 2020:

 1 #include<cstdio>
 2 #include<math.h>
 3 #include<string.h>
 4 #include<iostream>
 5 #include<algorithm>
 6 using namespace std;
 7 
 8 int main()
 9 {
10    int n,m,j,t;
11    int a[110];
12     while(scanf("%d",&n)!=EOF)
13     {
14        if(n==0)
15        {
16            break;
17        }
18        for(int i=0;i<n;i++)
19        {
20             scanf("%d",&a[i]);
21        }
22        for(int i=0;i<n;i++)
23        {
24            for(j=i;j<n;j++)//关键
25            {
26                if(abs(a[i])<abs(a[j]))//关键
27                {
28                    t=a[i];
29                    a[i]=a[j];
30                    a[j]=t;
31                }
32            }
33        }
34 
35         printf("%d",a[0]);
36        for(int i=1;i<n;i++)
37        {
38             printf(" %d",a[i]);
39        }
40        printf("\n");
41     }
42     return 0;
43 }

hdu 2021:

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int  n,m;
 6     while(cin >> n)
 7     {
 8         if(n==0)
 9             break;
10         int aount =0;
11         for(int i=0; i < n;++i)
12         {
13             cin >> m;
14             aount+=m/100;
15             m%=100;
16             aount+=m/50;
17             m%=50;
18             aount+=m/10;
19             m%=10;
20             aount+=m/5;
21             m%=5;
22             aount+=m/2;
23             m%=2;
24             aount+=m;
25         
26         }
27         cout<<aount<<endl;
28     }
29     return 0;
30 } 

hdu 2022

 1 #include<stdio.h>
 2 #include<math.h>
 3 #include<string.h>
 4 
 5 
 6 int main()
 7 {
 8    int n,m,t;
 9    int a;
10    int minn,col,row;
11    int x,y,s;
12     while(scanf("%d%d",&n,&m)!=EOF)
13     {
14         minn=0;
15        for(int i=1;i<=n;i++)
16        {
17            for(int j=1;j<=m;j++)//关键
18            {
19               scanf("%d",&a);//如果用数组做不出来,尝试直接用
20               if(fabs(a)>fabs(minn))//不知道为什么这里用abs就不行(遇到问题多试试)
21               {
22                  minn=a;
23                   col=i;
24                   row=j;
25               }
26            }
27        }
28         printf("%d %d %d\n",col,row,minn);
29     }
30     return 0;
31 }

 

以上是关于hdu 2018(母牛问题)2019(数列有序!)2020(绝对值排序 )2021(发工资)2022(海选女主角)的主要内容,如果未能解决你的问题,请参考以下文章

HDU2018 母牛的故事

HDU2019 数列有序!

HDU2019 数列有序!入门

HDU2019 数列有序!入门

hdu-2018题(母牛问题)

HDU 2018 母牛的故事