试试把OJ题意抽象成物理模型(洛谷P1007题题解,Java语言描述)
題目要求
P1007題目鏈接
分析
這題干出的,真有毒。。。
要是有這種指揮官,也是醉了。。。
言歸正傳,這題其實(shí)是可以貪心求解的,但我們還可以更加666。。。
事實(shí)上,題干上面那一大篇基本在扯,關(guān)鍵就是一個(gè)橋,上面有一堆人,人有向左的有向右的,相向而行就轉(zhuǎn)向,最后求最后一個(gè)人撤離的最長時(shí)間和最短時(shí)間。。撤離可以向左也可以向右(畢竟兩端有界嘛。。)。。。。
洛谷其實(shí)就是中小學(xué)生玩的東西,怪我那會兒沉迷學(xué)習(xí)。。??瓤?。。。不過我們可以想到動量守恒那里的等質(zhì)量質(zhì)點(diǎn)完全彈性碰撞,雖說內(nèi)部在亂碰,但只是轉(zhuǎn)向而已,如果我們不在意具體是m1還是m2,那整體看來就相當(dāng)于exchange,對吧??(我連大物都忘差不多了,菜成狗了,見諒)
洛谷那幫神人,編出了靈♂魂交換、相互穿過這種解釋也是神了。。。 你們把它看成一個(gè)個(gè)完全equal的小球不就完事。。。省的講起來那么恐怖。。。
好,這樣分析以后,我們只care整體,并且每個(gè)個(gè)體都是“暢通無阻”、“單向勻速直線運(yùn)動”的,OK……
那就完事了唄,純粹的用max函數(shù)和min函數(shù),Java的話這兩個(gè)static方法在java.lang.Math類里,直接調(diào)用即可。
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();} }總結(jié)
以上是生活随笔為你收集整理的试试把OJ题意抽象成物理模型(洛谷P1007题题解,Java语言描述)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【面向对象】面向对象程序设计测试题1-J
- 下一篇: 【Java】对Java构造器参数问题的若