模擬暴力 uva12108

2021-07-31 20:15:12 字數 782 閱讀 8388

這道題是紫書第四章的習題,拖了好久了。其實我這裡我用了取巧的方法:我假設如果過去了1e7秒,還沒有出現所有人認真聽課的情況的話,那麼就永遠不會出現所有人認真聽課的情況了,然後ac了。

關鍵在於一些細節的處理,比如編號從0開始,初始狀態的處理等等。

#includeusing namespace std;

int n,num_awake,num_sleep;

int status[11],a[11],b[11];

bool check(int i)//if the student no.1 is asleep return false,else return true

else

}if(status[i]>a[i])

return false;

}int main(void)

{ int cas=0,ans,temp_awake,temp_sleep;

//freopen("in","r",stdin);

while(cin>>n)

{if(n==0)

break;

cas++;

ans=-1;

num_awake=num_sleep=0;

for(int i=1;i<=n;i++)

{scanf("%d%d%d",&a[i],&b[i],&status[i]);

status[i]--;//easy to take mod,now status[i] is from 0 to a+b(exclusive)

if(status[i]

UVa 12108 特別困的學生

大致題意 上課的模擬題,輸入每個學生清醒的時間 睡覺的時間和起始的時間,每個學生在睡覺前都會看一下是否睡覺的學生比清醒的學生多,是的話就睡 因為睡覺的人少的話很有可能會被罵,睡的人多就不怕了 要罰一起罰,哈哈 輸出最早在哪個時間所有學生都是清醒著的狀態,若沒有,則輸出 1。思路 用乙個結構體表示每個...

UVa 12108 (特別困的學生)

uva 12108這道題是對現實的模擬,特別是對時間的模擬上,要注意時間段和時間點的表達。這道題需要注意的地方,就是對 學生醒來的時刻 學生睡去的時刻 的把握,只要明白了 學生醒來的時刻 time 週期 1 1的話,則time為醒來的時刻,time 週期 1 a 1的話,則time為睡著的時刻。但中...

暴力列舉 uva10132

給出乙個串不同斷點位置分成的不同兩段組的組,求原串。思路 暴力求解,先求出最短串的長和最長串的長相加作為原串的長,然後將所有滿足這個串長得字串各自前後的組合方式都組合一遍,最多組合方式對應的串就是原串啦 include include include include include using na...