其它題目
題目
RC-u2 智能服藥助手
智能看護(hù)中很重要的環(huán)節(jié)是安排需要服藥的老年人的服藥計(jì)劃。
已知機(jī)器人需要照顧的某位老年人需要服用 N 種藥物,但某些藥物不宜間隔過短服用 —— 比如降糖藥一般遵醫(yī)囑日服 3 次,兩次之間需要間隔至少 4 小時(shí)。當(dāng)需要服用的藥物比較多,醫(yī)囑比較復(fù)雜時(shí),如何保證每位老人的服藥計(jì)劃是安全合理的,就成為一個(gè)挑戰(zhàn)。
本題給定一套服藥計(jì)劃,請(qǐng)你檢查一下計(jì)劃是否存在問題。
輸入格式:
輸入第一行給出兩個(gè)整數(shù) N,M(1≤N,M≤1e3),表示老人需要服用 N 種藥物(藥物種類從 1 到 N 編號(hào)),對(duì)應(yīng)的服藥計(jì)劃有 M 條記錄。
接下來首先在一行中給出 N 個(gè)用空格隔開的整數(shù) Ti(?1≤Ti ≤100,Ti !=0),表示編號(hào)為 i 的藥物需要間隔至少 Ti個(gè)單位時(shí)間服用。如果 Ti為 ?1,則說明這種藥物沒有間隔要求。
接下來的 M 行,每行給出一條服藥計(jì)劃中的記錄,格式為:首先給出兩個(gè)非負(fù)整數(shù) t 和 k (0≤t≤1e9,0≤k≤N),
表示服藥的時(shí)刻為 t,服用了 k 種藥物;然后緊接著列出 k 個(gè)數(shù),每個(gè)數(shù)對(duì)應(yīng) t 時(shí)刻要吃的藥物種類的編號(hào)。一行中的數(shù)字之間以空格分隔。
題目保證:記錄按照服藥時(shí)刻 t 的遞增順序給出;每一時(shí)刻服用的藥物種類各不相同。注意:同一種藥物可能需要在不同的時(shí)刻重復(fù)服用。如果一位老人在 ti時(shí)刻和 tj時(shí)刻服用了同一種藥物,則他服用的間隔時(shí)間為 |ti-tj|.
輸出格式:
按照輸入順序檢查每一條記錄中的每一種藥物。如果在 Y 時(shí)刻不宜服用藥物 X,則在一行中輸出:
Don't take X at Y!
注意:老人收到提醒后會(huì)按照提醒不服用指定的藥物。
輸入樣例:
10 6
1 2 3 4 5 -1 -1 -1 -1 -1
0 1 1
1 2 1 2
2 1 2
3 2 1 3
5 3 1 3 4
6 2 1 4
輸出樣例:
Don't take 2 at 2!
Don't take 3 at 5!
Don't take 4 at 6!
題解
仍然是簡單模擬
記錄按照服藥時(shí)刻 t 的遞增順序給出;每一時(shí)刻服用的藥物種類各不相同。
這是快速做出這道題的關(guān)鍵, 因?yàn)閠是遞增的, 假設(shè)要判斷t時(shí)刻服用i藥是否合理, 只需要判斷t和上一次服用i藥的時(shí)間間隔是否達(dá)標(biāo)即可
不說更多廢話, show you code文章來源:http://www.zghlxwxcb.cn/news/detail-568106.html
AC代碼(帶注釋)
//
// Created by trudbot on 2022/7/12.
//
#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
int tim[N];//存放每種藥服用的時(shí)間間隔
int last[N];//上一次服用某藥的時(shí)間
int main() {
int n, m;
cin >> n >> m;
for(int i=1; i<=n; i++)
{
cin >> tim[i];
last[i] = -100;//初始化為一個(gè)很小的數(shù), 保證第一次一定可以服用
}
int t, k;
while ( m-- )
{
cin >> t >> k;
int i;
while( k-- )
{
cin >> i;//i為當(dāng)前要服用的藥
if(tim[i] == -1)//無間隔要求, 直接跳過
continue;
if(t - last[i] >= tim[i])//間隔夠大, 可以服用, 更新最后一次服用時(shí)間為當(dāng)前時(shí)間
last[i] = t;
else
printf("Don't take %d at %d!\n", i, t);
}
}
return 0;
}
如上代碼可AC, 有任何問題歡迎討論交流文章來源地址http://www.zghlxwxcb.cn/news/detail-568106.html
到了這里,關(guān)于2022 RoboCom 世界機(jī)器人開發(fā)者大賽-本科組(省賽)-- 第二題 智能服藥助手 (已完結(jié))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!