1. 程式人生 > >華師ACM新生賽1002

華師ACM新生賽1002

樓天城,中國ACM史上最強選手,也是中國公認的大學生計算機程式設計第一人,經常以一人單挑一個隊,在ACM界無人不曉其大名,人稱“樓教主”。

傳聞當年樓教主軍訓的時候,說軍訓太累了,要去放鬆一下。然後就跑去機房刷題了(如果這都不算愛)。

現在,為了追趕樓教主的腳步,LPT決定努力刷題。現在LPT面前有n條題目,每條題目有一個難度diff和做完這條題可以獲得的初始經驗值expLPT的初始等級為1級,初始經驗值為0,每獲得1000經驗值可以升一級。

LPT決定按順序從前往後做這n道題。

當然,做相對於自己的水平來說太簡單的題目是無法得到成長的,所以當LPT的等級比題目難度高5或以上的時候,LPT

就會放棄這道題目不做。

但是,對於太難的題目,LPT也做不出來,所以當題目難度比LPT的等級高5或以上的時候,LPT是沒有辦法解出這道題的。但是LPT當然不會輕言放棄,LPT會把這條題目放到自己的未完成題目列表中,以後再拿出來做。

每當LPT做完一條題目,她就會去看未完成題目的列表中,把太簡單的題目捨棄掉(題目難度比LPT等級低5或以上),找出裡面她能解決的、最早放入題目列表中的一道題目,然後把它給解決掉(這時也算完成一道題目,當然再會去未完成題目列表重頭開始找題)。

除此之外,對於題目iLPT解出這題便可以獲得

floor((diff[i]-level+5)/5*exp[i])的經驗值。

現在LPT想知道,過完這n題,她能獲得多少經驗值,和她會把其中的多少題目解出來,你能幫幫她嗎?

解題思路:題目文字雖然多,其實本質上是一個很簡單的問題:判斷與分支。先將所有的題目按序儲存在數組裡面,然後初始化等級和經驗。從第一個陣列元素開始判斷,如果能夠做完這題,那就獲得經驗,並且升級。然後將這個陣列元素標記,表示已經做過了。然後返回陣列最上端,重新往下判斷;如果不能夠做完這道題,那就跳到下一道題。

程式碼細節:

1.由於需要使用floor函式,所以要定義math.h函式庫。這裡就有一個陷阱,公式中的exp[i],在函式庫中是有定義的,所以不要用exp命名這個陣列。

2.每完成一道題目,經驗值就會增加,這時候一定要更新等級,因為等級會影響下一次的經驗值的多少。

3.用標記元素將某個題目表示已經完成,這裡將陣列賦值一個負數就好。

4..經驗值與等級的關係:rank=exp_now/1000+1;

5.用一個計時器計算迴圈量,等效於完成題目的次數。

程式碼清單:

#include 
#include 
#define MAX_DIFF 1010
#define MAX_EXP 1010

int diff[MAX_DIFF],aexp[MAX_EXP];

int main()
{
	int rank,count,exp_now,pro_num,T;
	scanf("%d",&T);
	for(int i=0;i0)
			{
				exp_now=exp_now+floor((diff[i]-rank+5)*aexp[i]/5);
				rank=exp_now/1000+1;
				diff[i]=-1;
				count++;
				i=0;
			}
			else
				i++;
		}
		printf("%d %d\n",exp_now,count);
	}
	return 0;
}

相關推薦

ACM新生1002

樓天城,中國ACM史上最強選手,也是中國公認的大學生計算機程式設計第一人,經常以一人單挑一個隊,在ACM界無人不曉其大名,人稱“樓教主”。 傳聞當年樓教主軍訓的時候,說軍訓太累了,要去放鬆一下。然後就跑去機房刷題了(如果這都不算愛)。 現在,為了追趕樓教主的腳步,LP

2018中北大學ACM新生指南

比賽時間:2018-12-02 比賽賽制:ACM賽制(非3人隊形式,個人賽) 比賽時長:5小時 (中午是不會讓你去食堂的,餓的撐不住的童鞋可以自帶一塊巧克力啥的,當然你要是提前離開賽場也可以,不過這視為你比賽結束,友情提示:吃東西會讓血糖升高從而影響思維哦!) 題目數量:10題左

2018CHD-ACM新生(正式)C.絕望のRevue

Description“Bonjour!”毒系寶可夢大師lwqqq撲上來了! BrotherZhi派出了傑尼龜! 毒系寶可夢大師lwqqq派出了slppp,slppp使用了麻麻電擊! 嘶————— 傑尼龜倒下了!GG!!!BrotherZhi再次輸掉了對戰,因為對手的slppp太強了!為了打敗霸佔鍵盤的slp

2018CHD-ACM新生(正式)D.刀塔大師lwq I

Description作為彩虹島的刀塔大師,lwq很擅長操作中單英雄卡爾。卡爾一共擁有10個技能。在卡爾的10個技能當 中,lwq最擅長的就是“幽靈漫步”。下面,lwq想就切技能的問題考考你: lwq共有QWE三種技能球。假設lwq現在的技能狀態是QQW,他每次操作可以彈出第一個球,並在最 後插入一個球。例如

晴人 2018CHD-ACM新生(正式)E.解救迷茫的草灘小王子

Description 彩虹島上一共會舉辦n場純粹的(CHD−FINAL)比賽,編號為從1∼n的正整數。小王子是一個狂熱又 純粹的ACMer,自然要參加每一場。 萬萬沒想到,比賽規則被邪惡的彩虹島副主席掌控了。副主席一共會修改n次比賽規則,第i 次修改規 則會導致編號為i的正整數倍的比賽性質發生反轉。(比賽

中北大學NUC2017新生1002/NOJ-1982

題目: 簽到題 時間限制: 1000ms 記憶體限制: 65535KB 通過次數: 3 總提交次數: 3 問題描述 zbt是一個非常勤勞的員工,有一天,後勤部派他前往一個國

杭電2017新生1002-身份證驗證

大學時代的小Q,是一個志向遠大的熱血青年,欲致力於國家網路建設。長年泡在電腦密集的地區潛心鑽研以網際網路為傳輸媒介,以個人計算機為終端,旨在實現休閒、交流、獲得虛擬成就的多人線上遊戲。 畢業後,小Q實現了自己的夢想,成功當上了一名光榮的網管。 眾所周知,進網咖是要刷身份證的,現在老闆讓他寫一個程式,判斷進來

QLU ACM 2018新生

小蒟蒻也想學大牛們寫一下題解啦~雖然很弱小 但是寫部落格是個好習慣 而且是走向神犇道路的必經之路 所以lets start!! 這次比賽有好幾個題在場上腦子突然短路,不知道為什麼很簡單的題就是想不起來,封榜的時候是第13名,因為沒有做出來題最後銅獎組第一名慘淡收場…剛看到排名和銅獎的時候我的

福建工程學院第七屆ACM程式設計新生 (同步

A.關電腦 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long LL; 4 int T,h1,m1,s1,h2,m2,s2,t1,t2,ans; 5 int main()

約會 福建工程學院第七屆ACM程式設計新生 (同步

連結:https://ac.nowcoder.com/acm/contest/289/H 來源:牛客網   題解:看程式碼註釋 程式碼 #include <iostream> #include <cmath> using namespace std;

內心裡的一把火 福建工程學院第七屆ACM程式設計新生 (同步

連結:https://ac.nowcoder.com/acm/contest/289/D 來源:牛客網   題解:簡單來看 可以用三個小三角形的面積之和與大三角形的面積作比較。 問題的關鍵式怎麼求三角形的面積,知道向量的叉乘求面積好處理一些,簡單來說 結論是這樣的: 已知三

第三屆ACM/ICPC新生初賽題解

#include<stdio.h> int main(){ int m; scanf("%d",&m); char c; getchar(); scanf("%c",&c); int x=m-1; int i=1; /

福建工程學院第七屆ACM程式設計新生

感覺被打出翔一樣的難受。。。(沒AK) https://ac.nowcoder.com/acm/contest/289#question A換算一下即可 #include<bits/stdc++.h> using namespace std; typedef long l

2016中北大學ACM程式設計新生題解

新生賽題目地址 a or an 輸入字串後判斷第一個字元是不是’a’,’e’,’i’,’o’,’u’,即可。 #include<algorithm> #include <iostream> #include <cstri

2017年山東省ACM總結

來看 其他 偉大的 之間 。。 bug 暑假 引導 問心無愧 2017年山東省ACM省賽總結

山東省第八屆ACM遊記

cme 哲學 同時 n) 9.png 貪心 zoj 計算機 結果 Day 1: 淩晨,來了幾分興致,和隊友在VJudge上開了一把zoj月賽,WA一發悶一口拿鐵,一瓶拿鐵 不一會就被喝完了!好氣啊!遂開始愉快地打遊戲,打著打著,woc,居然3點半了,小睡片 刻,咬上幾

[2011山東ACM] Binomial Coeffcients(求組合數)

取余 cor memory -s sin mage pad ruby end Binomial Coeffcients Time Limit: 1000ms Memory limit: 65536K 有疑問?點這裏^_^ 題目描寫敘述 輸入 輸

dada的GCD ( jxnu acm新生選拔賽)

如果 inf 輸入 ssi net out std ++ for 1007 dada的GCD,輸入格式描述有誤,已修正 dada的GCD Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768

2017 ACM區域現場 青島站 E (polya計數)

amp mod 循環 等價 img cout es2017 範圍 知乎 題目鏈接(暫無) 吐槽:這場比賽感覺對我感覺還算友好,雖然Q群知乎上命題方已經被噴死了,C語言上機題還有字符串題有大腿隊友輕松搞定,網絡流恰是我能想出來的,E本來也應該是在能力範圍內,不過因為之前沒寫過

2017網絡新生2303回文字串心得

oid pac 通過 min %d spa else == 區分 題目描述: 回文詞是一種對稱的字符串。任意給定一個字符串,通過插入若幹字符,都可以變成回文詞。此題的任務是,求出將給定字符串變成回文詞所需要插入的最少字符數。 比如 “Ab3bd”插入2個字符後可以變成回文詞