時間限制:
3000 ms | 記憶體限制:
65535 kb
難度:3 描述
在某一國度裡流行著一種遊戲。遊戲規則為:在一堆球中,每個球上都有乙個整數編號i(0<=i<=100000000),編號可重複,現在說乙個隨機整數k(0<=k<=100000100),判斷編號為k的球是否在這堆球中(存在為"yes",否則為"no"),先答出者為勝。現在有乙個人想玩玩這個遊戲,但他又很懶。他希望你能幫助他取得勝利。
輸入第一行有兩個整數m,n(0<=n<=100000,0<=m<=1000000);m表示這堆球裡有m個球,n表示這個遊戲進行n次。
接下來輸入m+n個整數,前m個分別表示這m個球的編號i,後n個分別表示每次遊戲中的隨機整數k
輸出輸出"yes"或"no"
樣例輸入
6 423 34 46 768 343 343
2 4 23 343
樣例輸出
no/*題解:noyes
yes
看起來很簡單的題,其實暗藏玄機
①僅僅有一組輸入資料,故不可以用while(cin>>m>>n)會超時的②小心使用陣列,陣列開到100000000會超記憶體③用map竟然也超時,原因暫時未知。
使用map的tle**:
#include#include#includeusing namespace std;
int main()
for(i=0; i>str;
printf(mymap[str]==0?"no\n":"yes\n");
}}
使用陣列的mle**:
#include#includeint a[100000102];
int main()
for(i=0; i>b;
if(s.find(b)==s.end())
cout<<"no"<
NYOJ 86 找球號 一)
時間限制 3000 ms 記憶體限制 65535 kb難度 3 描述 在某一國度裡流行著一種遊戲。遊戲規則為 在一堆球中,每個球上都有乙個整數編號i 0 i 100000000 編號可重複,現在說乙個隨機整數k 0 k 100000100 判斷編號為k的球是否在這堆球中 存在為 yes 否則為 no...
NYOJ 86 找球號 一
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 在某一國度裡流行著一種遊戲。遊戲規則為 在一堆球中,每個球上都有乙個整數編號i 0 i 100000000 編號可重複,現在說乙個隨機整數k 0 k 100000100 判斷編號為k的球是否在這堆球中 存在為 yes 否則為 n...
nyoj 86 找球號 一)
原題鏈結 方法一 先用algorithm中的sort函式,排序後利用二分查詢即可。方法二 用stl中的set,這道題不用考慮輸入資料是否有重複,所以就不用使用multiset,利用set成員函式count 判斷該數是否存在集合中就可以了,簡單又容易理解。這裡有個坑,額,或許只有我這麼傻。測試資料只用...