C/C++ 偷菜
題目描述
有位農夫喜歡把菜種成一排,并且兩棵菜之間相距一米。現在農夫種了300米長的菜,但是不幸的是經常被偷。這小偷也有一個奇怪的習慣,總是一次偷一段距離的菜,并且老是忘記已經偷過的地方。
輸入
第一行:小偷偷菜的段數N,接下來N行小偷每次偷菜的始末點,范圍[0, 300]。
輸出
小偷總共偷到的菜的棵數。
樣例輸入
4 0 4 6 45 3 9 70 100樣例輸出
77 #include<stdio.h> void main() {int n,a[30],b[30],i,j,s,t,min,max;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&a[i]);scanf("%d",&b[i]);}if(n>=2){for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;t=b[i];b[i]=b[j];b[j]=t;}min=a[0];max=b[0];s=0;for(i=0;i<n-1;i++){if(b[i]>a[i+1]){if(b[i]<b[i+1]){max=b[i+1];}else{a[i+1]=a[i];b[i+1]=b[i];}}else{s+=max-min+1;min=a[i+1];max=b[i+1];}}s+=max-min+1;printf("%d\n",s);}elseprintf("%d\n",b[0]-a[0]); }?
總結
- 上一篇: 微软行星云计算Planetary Com
- 下一篇: s3c2440移植MQTT