1. 程式人生 > >codevs貪心 地鼠遊戲

codevs貪心 地鼠遊戲

王鋼是一名學習成績優異的學生,在平時的學習中,他總能利用一切時間認真高效地學習,他不但學習刻苦,而且善於經常總結、完善自己的學習方法,所以他總能在每次考試中得到優異的分數,這一切很大程度上是由於他是一個追求效率的人。

    但王鋼也是一個喜歡玩的人,平時在學校學習他努力剋制自己玩,可在星期天他卻會抽一定的時間讓自己玩一下,他的爸爸媽媽也比較信任他的學習能力和學習習慣,所以在星期天也不會象其他家長一樣對他抓緊,而是允許他在星期天上午可以自由支配時間。

    地鼠遊戲是一項需要反應速度和敏捷判斷力的遊戲。遊戲開始時,會在地板上一下子冒出很多地鼠來,然後等你用榔頭去敲擊這些地鼠,每個地鼠被敲擊後,將會增加相應的遊戲分值。問題是這些地鼠不會傻傻地等你去敲擊,它總會在冒出一會時間後又鑽到地板下面去(而且再也不上來),每個地鼠冒出後停留的時間可能是不同的,而且每個地鼠被敲擊後增加的遊戲分值也可能是不同,為了勝出,遊戲參與者就必須根據每個地鼠的特性,有選擇地儘快敲擊一些地鼠,使得總的得分最大。

這個極具挑戰性的遊戲王鋼特別喜歡,最近他經常在星期天上午玩這個遊戲,慢慢地他不但敲擊速度越來越快(敲擊每個地鼠所需要的耗時是1秒),而且他還發現了遊戲的一些特徵,那就是每次遊戲重新開始後,某個地鼠冒出來後停留的時間都是固定的,而且他記錄了每個地鼠被敲擊後將會增加的分值。於是,他在每次遊戲開始後總能有次序地選擇敲擊不同的地鼠,保證每次得到最大的總分值。

分析:這題就是很簡單的貪心問題,貪心原則就是在時間允許範圍內儘量選擇分數高的地鼠來打,這樣的話自然就是將時間從後往前的選擇地鼠來打啦。

const
  maxn=100;


var
  a,v:array[1..maxn] of longint;
  ans,max1,max2,time,n,i,j:longint;


begin
  readln(n);
  for i:=1 to n do
    begin
      if i<n then read(a[i])
      else readln(a[i]);
      if a[i]>time then
        time:=a[i];
  end;
  for i:=1 to n do
    if i<n then read(v[i])
    else readln(v[i]);
  for i:=time downto 1 do
    begin
      max1:=0;
      for j:=1 to n do
        if (a[j]>=i) and (v[j]>max1) then
          begin
            max1:=v[j];
            max2:=j;
      end;
      ans:=ans+max1;
      v[max2]:=0;
  end;
  writeln(ans);
end.

相關推薦

codevs貪心 遊戲

王鋼是一名學習成績優異的學生,在平時的學習中,他總能利用一切時間認真高效地學習,他不但學習刻苦,而且善於經常總結、完善自己的學習方法,所以他總能在每次考試中得到優異的分數,這一切很大程度上是由於他是一個追求效率的人。     但王鋼也是一個喜歡玩的人,平時在學校學習他努

codevs 1052:遊戲

關鍵字 empty names 的人 一道 信任 慢慢 這一 scrip http://codevs.cn/problem/1052/ 題目描述 Description 王鋼是一名學習成績優異的學生,在平時的學習中,他總能利用一切時間認真高效地學習,他不但學習刻苦,而

CODEVS——T1052 遊戲

獲得 習慣 _id right 數據 cli bre sed show http://codevs.cn/problem/1052/ 時間限制: 1 s 空間限制: 128000 KB 題目等級 : 鉆石 Diamond

ios打遊戲源代碼

-s mil wid lan chm tar borde oom src 打地鼠遊戲源代碼,遊戲是一款多關卡基於cocos2d的iPad打地鼠遊戲源代碼,這也是一款高質量的打地鼠遊戲源代碼,能夠擁有逐步上升的關卡的設置,大家能夠在關卡時設置一些商業化的模式來盈利的,很

遊戲(堆維護)

return src sum sort img mes pri 整數 空格 偉大的2320學長特別喜歡打地鼠遊戲,這個遊戲開始後,會在地板上冒出一些地鼠來,你可以用榔頭去敲擊這些地鼠,每個地鼠被敲擊後,將會增加相應的遊戲分值。可是,所有地鼠只會在地上出現一段時間(而且消失後

遊戲(2)之定義函數及函數原型 prototype

mouse cli function orm style img 重置 ati null 在JavaScript中,prototype對象是實現面向對象的一個重要機制。 每個函數就是一個對象(Function),函數對象都有一個子對象 prototype對象,類是以函數的形

遊戲(3)之動畫效果

rand pre 繼續 ood 擴展 child timeout cti java 在第一篇中,我們已經實現了單擊開始後遊戲的倒計時,那麽下面,我們需要繼續在Game這個簡直對對象中進行擴展屬性和方法: 首先我們需要在Game中添加幾組初始鍵值對: //所有的地鼠dom元

遊戲(4)之遊戲實現

通過前幾篇的屬性建立和定義,接下里就是有效開始後呼叫這些屬性的方法,並實現整個遊戲效果: //遊戲開始函式 function GameStart(){ if(Game.time > 0 && Game.time != 61){ alert("遊戲尚未結束,不能重新開始哦

使用c#.net實現打遊戲和翻牌遊戲

***本程式通過vs2010建立窗體應用程式,通過控制元件建立記憶紙牌及打地鼠遊戲視窗 需求分析: 為了使用者給使用者提供美觀的遊戲介面,本專案在遊戲的開發實踐中注重對介面的美觀設計,並配有背景音樂,在打地鼠遊戲中將指標變為錘子,滿足玩家打地鼠的需求。 遊戲介面圖如下***

堆的應用:遊戲

地鼠遊戲 題目描述 Description 王鋼是一名學習成績優異的學生,在平時的學習中,他總能利用一切時間認真高效地學習,他不但學習刻苦,而且善於經常總結、完善自己的學習方法,所以他總能在每次考試中得到優異的分數,這一切很大程度上是由於他是一個追求效率

wikioi p1052 遊戲

題目大意 給出N個任務以及每個任務的獎勵W和完成期限T,要求輸出獲得的最大獎勵。 考察演算法 貪心 並查集 二叉堆 演算法一 這道題目我們很容易想到一個貪心策略:每次讓獎勵最多的任務儘量準時完成。這樣我們可以先把這些任務按照獎勵的數目進行排序,把大的排在前面,先進行放置。

遊戲(2)

graphic signal 圖片 delete delet pan com ima 就是 GraphicsView坐標體系: 在之前添加一張圖片的圖元構成的場景被顯式時,發現呈現在view中的位置是在中間位置的。這是因為這一張圖片尺寸較小,它構成的場景小於Graphic

遊戲(4)

lease 隨機數 怎麽 lib 增加 信號 狀態 查看 追溯 事件重寫 QT界面的每一個操作都是一個事件,這些事件會發送相應的信號,之前只是去綁定這些信號,然後觸發我們自定義的槽函數。 但是,還有一些操作本身就有默認的處理,比如點擊"MainWindow"窗口的關閉按

HTML5遊戲實戰之20行代碼實現打

before line asc win csdn 實戰 動畫 and wiki 之前寫過一篇打地鼠的博客70行的代碼實現打地鼠遊戲,細致思考過後,發現70行代碼都有點多余了,應用tangide的控件特性,能夠將代碼量縮減到20行左右。 先show一下終於成果,點擊試

cocos2dx3.0戳青蛙遊戲(打

and std parent 手指 score 依據 cost bin 運行 1戳青蛙項目描寫敘述 1.1功能描寫敘述 實現類似打地鼠遊戲。青蛙隨機出如今屏幕左邊5*3的格子中,並會向屏幕右邊移動,在青蛙逃離之前,手指點擊實現戳滅青蛙

JavaScript實現打遊戲

##前言: 打地鼠小遊戲相信大家都玩過,地鼠會從一個個地洞中不經意的探出一個腦袋,我們要做的就是在地鼠出來的時候拖動滑鼠去打它,當打到地鼠時,會加分,打到不是地鼠時,會減分,是一個很考驗手速和眼力的小遊戲 正文 沒有找到地鼠素材,這兒用”灰太狼”來替代地

JavaScript+HTML5 實現打遊戲

一.遊戲簡介 打地鼠這個遊戲相信大家都不陌生,也是童年時候一款經典的遊戲。本次遊戲的編寫是以html檔案形式完成的,並且使用HBulider軟體進行編寫,使用谷歌瀏覽器展示效果,遊戲將會採用JavaScript實現整體的邏輯流程,最終使用谷歌瀏覽器來實現遊戲的展示和操作。本次遊戲需要有一定的HT

我的第一個HTML5遊戲——打總結…

歷時10天,我的第一個HTML5遊戲終於完成了,下來介紹我這個遊戲——打地鼠 遊戲功能 1.幫助介面 2.遊戲預備開始 3.5種不同地鼠的隨機出現 4.關卡設定,當然有計時條顯示 5.失敗和通過關卡設定 6.音效設定 經驗 1.找出需要的圖片和音訊時候         沒有必要重新選擇了,資源

Python 0基礎開發遊戲:打(詳細教程)VS code版本

如果你沒有任何程式設計經驗,而且想嘗試一下學習程式設計開發,這個系列教程一定適合你,它將帶你學習最基本的Python語法,並讓你掌握小遊戲的開發技巧。你所需要的,就是付出一些時間和耐心來嘗試這些程式碼和操作。 @[top] 一、準備工作 1 下載安裝 python 2 下載安裝VS code編輯器 安裝時

Codevs 1051 接龍遊戲

ron sed 單詞 mes 一次 pri 一個數 cli div 1051 接龍遊戲 題目描述 Description 給出了N個單詞,已經按長度排好了序。如果某單詞i是某單詞j的前綴,i->j算一次接龍(兩個相同的單詞不能算