链接:https://ac.nowcoder.com/acm/contest/73450/B
来源:牛客网
/*
include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
string a,b;
for(int i=0;i<n;i++)
{
cin>>a>>b;
if(a.size()>b.size()){
cout<<0<<endl;
}
else{
int mark=1;
for(int i=0;i<a.size();i++)
{
int pos=b.find(a[i]);
if(posstd::string::npos) {
cout<<0<<endl;
mark=0;
break;
}
}
if(mark1) cout<<10<<endl;
}
}
return 0;
}
*/
这是自己写的常规写法
接下来是大神的stl大法
include <bits/stdc++.h>
using namespace std;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
cout << fixed << setprecision(20);
int t;
cin >> t;
for (int ti = 0; ti < t; ti += 1) {
string s, f;
cin >> s >> f;
cout << (all_of(s.begin(), s.end(),
[&](char c) { return count(f.begin(), f.end(), c); })
? "10"
: "0")
<< "\n";
}
}
all_of是一个算法,用于检查一个范围内的所有元素是否都满足某个条件。在这里,它检查字符串s`中的所有字符是否都满足前面提到的lambda函数所描述的条件。
all_of(s.begin(), s.end(), ... )
这是一个lambda函数,它捕获了其所在作用域的所有变量(通过引用)。对于传递给它的每个字符c,它会返回这个字符在字符串f中出现的次数。
[&](char c) { return count(f.begin(), f.end(), c); }