SWUST OJ312: 偷菜
生活随笔
收集整理的這篇文章主要介紹了
SWUST OJ312: 偷菜
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
有位農夫喜歡把菜種成一排,并且兩棵菜之間相距一米。現在農夫種了300米長的菜,但是不幸的是經常被偷。這小偷也有一個奇怪的習慣,總是一次偷一段距離的菜,并且老是忘記已經偷過的地方。
輸入
第一行:小偷偷菜的段數N 接下來N行小偷每次偷菜的始末點,范圍[0, 300]。
輸出
小偷總共偷到的菜的棵數。
樣例輸入
4 0 4 6 45 3 9 70 100樣例輸出
77 #include<stdio.h> int main() {int n;scanf("%d", &n);int i,j;int a[300], b[300];for (i = 0; i < n; i++){scanf("%d%d", &a[i], &b[i]);}int count = 0;for (i = 0; i < n - 1; i ++ ){for (j = 0; j < n - 1 - i; j++){if (a[j] > a[j + 1]){int tmp = a[j];a[j] = a[j + 1];a[j + 1] = tmp;}}}for (i = 0; i < n - 1; i++){for (j = 0; j < n - 1 - i; j++){if (b[j] > b[j + 1]){int smp = b[j];b[j] = b[j + 1];b[j + 1] = smp;}}}i = 1, j = 1;while (i <= n){if (i == n){if (j == 1){count += b[n - 1] - a[n - 1] + 1;}else{count += b[n - 1] - a[n - j] + 1;}}else if(a[i]>b[i-1]){count += b[i - 1] - a[i - j] + 1;j = 0;}i++;j++;}printf("%d\n", count);return 0; }總結
以上是生活随笔為你收集整理的SWUST OJ312: 偷菜的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cancel事件
- 下一篇: 依赖倒置 php,PHP中的依赖倒置原则