团体程序设计天梯赛 L1-041 寻找250

L1-041 寻找250

题目链接-L1-041 寻找250

对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。
输入格式:

输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。
输出格式:

在一行中输出第一次出现的“250”是对方扔过来的第几个数字(计数从1开始)。题目保证输出的数字在整型范围内。

输入样例:

888 666 123 -233 250 13 250 -222

输出样例:

5

解题思路

STL vector

  • 先用vector存取输入的每个数
  • 再用find(v,begin(),v.end(),value)函数返回指定值value所对应的迭代器
  • distance(it1,it2)函数返回两个迭代器之间的距离,就转化为元素下标=当前迭代器位置-容器头部,因为计数是从1开始,最后结果记得+1,即distance(v.begin(),it)+1;

附上代码

#include<bits/stdc++.h>
#define int long long
#define lowbit(x) (x &(-x))
using namespace std;
const int INF=0x3f3f3f3f;
const double PI=acos(-1.0);
const double eps=1e-10;
const int M=1e9+7;
const int N=1e5+5;
typedef long long ll;
typedef pair<int,int> PII;
signed main(){
	
	int n;
	vector<int> v;
	while(cin>>n){
		v.push_back(n);
		char a=getchar();
		if(a!=' ')
			break;
	}
	vector<int>::iterator it=find(v.begin(),v.end(),250);
	cout<<distance(v.begin(),it)+1<<endl;
	return 0;
}

发布了123 篇原创文章 · 获赞 9 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Fiveneves/article/details/104726600