C语言(思维的体操,DEVFORGE学编程社区)

Posted on 2019-10-07 10:36  金色的省略号  阅读(409)  评论(0编辑  收藏  举报

1、操场训练

 1 #include<stdio.h>
 2 #include<math.h>
 3 int main()
 4 {
 5     int m,n,i,j,k,a[1000],b[1000],t,c[1000],d[1000],sum;
 6     scanf("%d",&n);
 7     for(i=0;i<n;i++)
 8     {
 9         scanf("%d%d",&a[i],&b[i]);
10     }
11     /*  */
12     for(i=0;i<n-1;i++)
13     {
14         for(j=0;j<n-i-1;j++)
15         {
16             if(b[j]>b[j+1])
17             {
18                 t=b[j];
19                 b[j]=b[j+1];
20                 b[j+1]=t;
21             }
22         }
23     }
24     /*  */
25     for(i=0,t=b[i];t<=b[n-1];t++)
26     {
27         c[i]=0;
28         for(j=0;j<n;j++)
29         {
30             c[i]+=fabs(b[j]-t);
31         }
32         i++;
33     }
34     for(i=0;i<b[n-1]-b[0];i++)
35     {
36         for(j=0;j<b[n-1]-b[0]-i;j++)
37         {
38             if(c[j]>c[j+1])
39             {
40                 t=c[j];
41                 c[j]=c[j+1];
42                 c[j+1]=t;
43             }
44         }
45     }
46     for(i=0;i<n-1;i++)
47     {
48         for(j=0;j<n-i-1;j++)
49         {
50             if(a[j]>a[j+1])
51             {
52                 t=a[j];
53                 a[j]=a[j+1];
54                 a[j+1]=t;
55             }
56         }
57     }
58     /*  */
59     for(k=0,t=a[0]-10;t<=a[n-1];t++)
60     {
61         d[k]=0;i=0;
62         for(j=t;j<=t+n-1;j++)
63         {
64             d[k]+=fabs(j-a[i]);
65             i++;
66         }
67         k++;
68     }
69     for(i=0;i<a[n-1]-a[0]+10;i++)
70     {
71         for(j=0;j<a[n-1]-a[0]-i+10;j++)
72         {
73             if(d[j]>d[j+1])
74             {
75                 t=d[j];
76                 d[j]=d[j+1];
77                 d[j+1]=t;
78             }
79         }
80     }
81     printf("%d",c[0]+d[0]);
82     return 0;
83 }

2、