hdoj 4907 Task schedule 【預先處理】

來源:互聯網
上載者:User

標籤:水題   預先處理   

題意:中文題,你懂得。。。

思路:建兩個數組,一個標記,一個放答案(就是最快能處理的任務點), 在輸入資料的時候標記改位置已經有任務了,並且找出來一個最大的數max。然後從max+1,出發從大到小,依次用temp定義沒有任務的序號,如果是沒有被標記那麼就將該處的答案定義為temp。

題目連結 點擊開啟連結

代碼:

#include<stdio.h>#include<string.h>#define MAXN 200005int vis[MAXN], ans[MAXN];int main(){int t, n, m, i, j, q;scanf("%d", &t);while(t --){int a;memset(vis, 0, sizeof(vis));memset(ans, 0, sizeof(ans));int k = 0;int max = 0;scanf("%d%d", &n, &m);for(i = 1; i <= n; i ++){scanf("%d", &a);vis[a] = 1;if(max < a)max = a;}int temp = max+1;for(i = max; i > 0; i --){if(vis[i]) ans[i] = temp; else temp = i;}while(m --){scanf("%d", &q);if(!vis[q]){printf("%d\n", q);}elseprintf("%d\n", ans[q]);}}return 0;}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.