正文之前
貌似我找到的那個題目網(wǎng)站更新了一波最新的題目瀑梗。不過201709 只有1烹笔、2 題,所以先做了吧(其實是我自己對能不能做出第三題 持懷疑態(tài)度E桌觥)寶寶心里苦鞍啊!R谙省允蜈!??!蒿柳!
正文
試題編號: | 201709-1 |
---|---|
試題名稱: | 打醬油 |
時間限制: | 1.0s |
內(nèi)存限制: | 256.0MB |
問題描述
小明帶著N元錢去買醬油饶套。醬油10塊錢一瓶,商家進行促銷垒探,每買3瓶送1瓶妓蛮,或者每買5瓶送2瓶。請問小明最多可以得到多少瓶醬油圾叼。輸入格式
輸入的第一行包含一個整數(shù)N蛤克,表示小明可用于買醬油的錢數(shù)。N是10的整數(shù)倍夷蚊,N不超過300构挤。輸出格式
輸出一個整數(shù),表示小明最多可以得到多少瓶醬油撬码。樣例輸入
40樣例輸出
5樣例說明
把40元分成30元和10元儿倒,分別買3瓶和1瓶版保,其中3瓶送1瓶呜笑,共得到5瓶夫否。樣例輸入
80樣例輸出
11樣例說明
把80元分成30元和50元,分別買3瓶和5瓶叫胁,其中3瓶送1瓶凰慈,5瓶送2瓶,共得到11瓶驼鹅。
這個題目我也不好說啥~~ 反正看懂了就看懂了~~ 微谓,沒看懂再去練練吧~
#include<iostream>
using namespace std;
int main()
{
int a,b,c,d;
cin>>d;
a=d/50;
b=(d-50*a)/30;
c=(d-50*a-30*b)/10;
cout<<7*a+4*b+c<<endl;
}
Last login: Wed Nov 29 15:46:43 on ttys000
HustWolf:~ zhangzhaobo$ /Users/zhangzhaobo/program/C++/CCF_2017_09_1 ; exit;
80
11
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[進程已完成]
試題編號: | 201709-2 |
---|---|
試題名稱: | 公共鑰匙盒 |
時間限制: | 1.0s |
內(nèi)存限制: | 256.0MB |
問題描述
有一個學校的老師共用N個教室,按照規(guī)定输钩,所有的鑰匙都必須放在公共鑰匙盒里豺型,老師不能帶鑰匙回家。每次老師上課前买乃,都從公共鑰匙盒里找到自己上課的教室的鑰匙去開門姻氨,上完課后,再將鑰匙放回到鑰匙盒中剪验。
鑰匙盒一共有N個掛鉤肴焊,從左到右排成一排,用來掛N個教室的鑰匙功戚。一串鑰匙沒有固定的懸掛位置娶眷,但鑰匙上有標識,所以老師們不會弄混鑰匙啸臀。
每次取鑰匙的時候届宠,老師們都會找到自己所需要的鑰匙將其取走,而不會移動其他鑰匙乘粒。每次還鑰匙的時候席揽,還鑰匙的老師會找到最左邊的空的掛鉤,將鑰匙掛在這個掛鉤上谓厘。如果有多位老師還鑰匙幌羞,則他們按鑰匙編號從小到大的順序還。如果同一時刻既有老師還鑰匙又有老師取鑰匙竟稳,則老師們會先將鑰匙全還回去再取出属桦。
今天開始的時候鑰匙是按編號從小到大的順序放在鑰匙盒里的。有K位老師要上課他爸,給出每位老師所需要的鑰匙聂宾、開始上課的時間和上課的時長,假設(shè)下課時間就是還鑰匙時間诊笤,請問最終鑰匙盒里面鑰匙的順序是怎樣的系谐?輸入格式
輸入的第一行包含兩個整數(shù)N, K。
接下來K行,每行三個整數(shù)w, s, c纪他,分別表示一位老師要使用的鑰匙編號鄙煤、開始上課的時間和上課的時長〔杼唬可能有多位老師使用同一把鑰匙梯刚,但是老師使用鑰匙的時間不會重疊。
保證輸入數(shù)據(jù)滿足輸入格式薪寓,你不用檢查數(shù)據(jù)合法性亡资。輸出格式
輸出一行,包含N個整數(shù)向叉,相鄰整數(shù)間用一個空格分隔锥腻,依次表示每個掛鉤上掛的鑰匙編號。樣例輸入
5 2
4 3 3
2 2 7樣例輸出
1 4 3 2 5樣例說明
第一位老師從時刻3開始使用4號教室的鑰匙母谎,使用3單位時間旷太,所以在時刻6還鑰匙。第二位老師從時刻2開始使用鑰匙销睁,使用7單位時間供璧,所以在時刻9還鑰匙。
每個關(guān)鍵時刻后的鑰匙狀態(tài)如下(X表示空):
時刻2后為1X345冻记;
時刻3后為1X3X5睡毒;
時刻6后為143X5;
時刻9后為14325冗栗。樣例輸入
5 7
1 1 14
3 3 12
1 15 12
2 7 20
3 18 12
4 21 19
5 30 9樣例輸出
1 2 3 5 4評測用例規(guī)模與約定
對于30%的評測用例演顾,1 ≤ N, K ≤ 10, 1 ≤ w ≤ N, 1 ≤ s, c ≤ 30;
對于60%的評測用例隅居,1 ≤ N, K ≤ 50钠至,1 ≤ w ≤ N,1 ≤ s ≤ 300胎源,1 ≤ c ≤ 50棉钧;
對于所有評測用例,1 ≤ N, K ≤ 1000涕蚤,1 ≤ w ≤ N宪卿,1 ≤ s ≤ 10000,1 ≤ c ≤ 100万栅。
這個題目的內(nèi)核在于佑钾,你要把每次的取鑰匙和放鑰匙當做兩個時間分別存入你的事件庫里面,也就是說烦粒,每次取鑰匙休溶,算是一個事件,有一個作用對象,有一個作用時間;每次放鑰匙兽掰,也算是一個事件芭碍,有一個作用對象,有一個作用時間禾进。這樣豁跑,我們自定義一個時間結(jié)構(gòu)體或者說是對象廉涕,主要的難點在于因為加入了 algorithm標準庫的sort函數(shù)泻云,所以要自頂一個operator< 運算符,這樣sort的時候可以根據(jù)自定義的運算符進行排序狐蜕,因為要模擬的是事件流宠纯。所以以時間為刻度,把每次事件放到相應(yīng)的時間點层释, 并且先放后取婆瓜,這樣才能細水長流。當然贡羔,因為最后根據(jù)鉤子的順序輸出鑰匙的順序廉白,?? 所以我們還需要定義一個對象 gouzi 。當然乖寒,我這里直接用vector解決這個問題猴蹂,也是可以的!然后我們可以對排序后的事件庫進行按序讀取楣嘁,這樣就跳過了空白的時間點磅轻,當然,另一種思路是做時間長度次遍歷逐虚,每次遍歷里面再遍歷整個事件庫聋溜,找到對應(yīng)事件發(fā)生的事情,至于時間復(fù)雜度叭爱?撮躁?呵呵??~
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
struct ACTION
{
int key;
int use_way;
int time;
ACTION(int a,int b,int c):key(a),use_way(b),time(c){}
bool operator< (const ACTION&a) const
{
if(time<a.time)
return true;
else if(time==a.time && use_way<a.use_way)
return true;
else if(time==a.time && use_way==a.use_way && key<a.key)
return true;
else return false;
}
};
int main()
{
int N,K;
cin>>N>>K;
vector<int> gouzi;
for(int i=0;i<=N;++i)
gouzi.push_back(i);
vector<ACTION> action;
for(int i=0;i<K;++i)
{
int w,s,c;
cin>>w>>s>>c;
action.push_back(ACTION(w,1,s));
action.push_back(ACTION(w,0,s+c));
}
sort(action.begin(),action.end());
for(int i=0;i<action.size();++i)
{
if(action[i].use_way==0)
{
for(int j=0;j<N+1;++j)
{
if(gouzi[j]== -1)
{
gouzi[j]=action[i].key;
break;
}
}
}
else
{
for(int j=0;j<N+1;++j)
{
if(gouzi[j]==action[i].key)
{
gouzi[j]=-1;
break;
}
}
}
}
for(int i=1;i<=N;++i)
{
cout<<gouzi[i]<<" ";
}
cout<<endl;
return 0;
}
運行結(jié)果如下:
Last login: Sat Dec 2 21:53:39 on ttys000
HustWolf:~ zhangzhaobo$ /Users/zhangzhaobo/program/C++/CCF_2017_09_2 ; exit;
5 7
1 1 14
3 3 12
1 15 12
2 7 20
3 18 12
4 21 19
5 30 9
1 2 3 5 4
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[進程已完成]
正文之后
寶寶心里苦啊B蛭怼Bā! ?? ?? 今天CCF的試題庫我才發(fā)現(xiàn)正常運行了D祝迂! 所以去樂滋滋的把自己做的題目測試一下!器净!結(jié)果P亡ā!GG,祈禱明天能有200分纠俭。也算是達到了計算機考研生的免復(fù)試線沿量,不然就太丟人了!冤荆!
還有捌釉颉!钓简!最過分的是: 我不知道N诙省! 還可以帶紙質(zhì)資料外邓。 那我還背并查集 Dijkstra BFS DFS 字典序 歐拉路徑 鄰接矩陣 鄰接表 這些干嘛喲3肺谩!损话!沃日罢煨ァ!Iデ埂光涂!