试试把OJ题意抽象成物理模型(洛谷P1007题题解,Java语言描述)
生活随笔
收集整理的這篇文章主要介紹了
试试把OJ题意抽象成物理模型(洛谷P1007题题解,Java语言描述)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目要求
P1007題目鏈接
分析
這題干出的,真有毒。。。
要是有這種指揮官,也是醉了。。。
言歸正傳,這題其實是可以貪心求解的,但我們還可以更加666。。。
事實上,題干上面那一大篇基本在扯,關鍵就是一個橋,上面有一堆人,人有向左的有向右的,相向而行就轉向,最后求最后一個人撤離的最長時間和最短時間。。撤離可以向左也可以向右(畢竟兩端有界嘛。。)。。。。
洛谷其實就是中小學生玩的東西,怪我那會兒沉迷學習。。。咳咳。。。不過我們可以想到動量守恒那里的等質量質點完全彈性碰撞,雖說內部在亂碰,但只是轉向而已,如果我們不在意具體是m1還是m2,那整體看來就相當于exchange,對吧??(我連大物都忘差不多了,菜成狗了,見諒)
洛谷那幫神人,編出了靈♂魂交換、相互穿過這種解釋也是神了。。。 你們把它看成一個個完全equal的小球不就完事。。。省的講起來那么恐怖。。。
好,這樣分析以后,我們只care整體,并且每個個體都是“暢通無阻”、“單向勻速直線運動”的,OK……
那就完事了唄,純粹的用max函數和min函數,Java的話這兩個static方法在java.lang.Math類里,直接調用即可。
AC代碼(Java語言描述)
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int length = scanner.nextInt(), num = scanner.nextInt(), max = 0, min = 0;for (int i = 0; i < num; i++) {int temp = scanner.nextInt();max = Math.max(max, Math.max(length-temp+1, temp));min = Math.max(min, Math.min(length-temp+1, temp));}System.out.println(min + " " + max);scanner.close();} }總結
以上是生活随笔為你收集整理的试试把OJ题意抽象成物理模型(洛谷P1007题题解,Java语言描述)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【面向对象】面向对象程序设计测试题1-J
- 下一篇: 【Java】对Java构造器参数问题的若