STL使用

//引用 的使用
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;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值