//引用 的使用
eg:
void swap(int& a,int& b){ //加 & 表示引用
int t=a; a=b; b=t;
}
swap(m,n);
// #include<sstream> 的使用
while(getline(cin,line)){
int ans=0,x;
stringstream ss(line);
while(ss>>x){
ans+=x;
}
cout<<ans;
return 0;
}
//struct 的使用 成员变量 成员函数 构造函数
struct Point{
int x,y;
Poinit(int x=0,int y=0) :x(x),y(y){} //函数名相同 没有返回值 构造函数 (ctor) 参数 初始化 默认 (0,0),":x(x),y(y)" 表示 成员变量 y 初始化为 参数y
};
//模板 函数
template <typename T>//定义加法
Point <T> operator + (const Point<T>& A,const Point<T>& B){
return Point(A.x+B.x,A.y+B.y);
}
template <typename T> //定义输出格式
ostream& operator << (ostream &out,const Point<T>& p){
out<<"("<<p.x<<","<<p.t<<")";
return out;
}
//where is the marble?
#include<castdio>
#include<iostream>
using namespace std;
const int manx=1005;
int main(){
int n,q,x,a[manx],k=0;
while(canf("%d%d,&n,&q)==2&&n){
printf(CASE# %d\n",++k);
for(int i=0;i<n;i++) scanf("%d,&a[i]);
sort(a,a+n);
while(q--){
scanf("%d,&x);
int p=lower_bound(a,a+n,x)-a;
if(a[p]==x) printf("%d found at %d,x,p+1);
else printf("%d not found\n",x);
}
}
}
#include<iostream>
#include<set>// set 默认从小到大排序
#include<map>
#include<string>
using namespace std;
set<string>s;
map<string,int>p,pp;///map的用法 map<sstring ,int> p; p[name]=1;相当于 下标是string 赋值为int
int main()
{
int i,n,m,sum=0,t;
string name,a[10001];
cin>>n;
while(n--)
{
cin>>name;
p[name]=1;
}
cin>>m;
for(i=0;i<m;i++)
{
cin>>a[i]>>t;
pp[a[i]]=t;
sum=sum+t;
}
sum=sum/m;
for(i=0;i<m;i++)
{
if(p[a[i]]==0 && pp[a[i]]>sum)
s.insert(a[i]);//set 中已经排好了顺序
}
if(s.empty())
{
puts("Bing Mei You");//自动换行 ,一般用于输出一段特定的话
return 0;
}
set<string>::iterator it; //迭代器的使用
for(it=s.begin();it!=s.end();it++)
cout<<*it<<endl;
return 0;
}