虽然第三章的3-12还没做,但是由于寒假要上课,讲图论于是我打算抓紧学习数据结构,然后进入图的学习。
于是立马决定开始第五章
#include <cstdio>
#include <cstring>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
vector<int> m;
int main()
{
freopen("New Text Document.txt","r",stdin);
freopen("Output.txt","w",stdout);
ios::sync_with_stdio(false);
int n, q, x, kase = 0;
while(cin>>n>>q && n && q)
{
m.clear();//一定注意清空
cout<<"CASE# "<<++kase<<":\n";
for(int i = 0; i < n; i++)
{
cin>>x;
m.push_back(x);
}
sort(m.begin(), m.end());//最开始写的是 sort(m.begin(), m.end()+1); 评测完是WA
//for(int i = 0; i < n; i++) cout<<m[i];
for(int i = 0; i < q; i++)
{
cin>>x;
cout<<x;
int k = lower_bound(m.begin(), m.end(), x) - m.begin();
if(m[k] == x) cout<<" found at "<<k+1<<endl;
else cout<<" not found"<<endl;
}
}
return 0;
}
注意对vector类型的m进行sort时写sort(m.begin(), m.end());
千万不要写
sort(m.begin(), m.end()+1);
否则会WA