Problem - C - Codeforceshttps://codeforces.com/contest/1674/problem/C
题意:
- 组合数学的一道题目,就是分情况讨论如果s2字符串中只有a,那种类也只有1,但是如果字符串中包含a,那就输出-1,剩余情况就是组合数学的内容,然后再加上s1这个种类的字符串正好为2^n,输出即可。
#include <iostream>
#include <cmath>
#include <string.h>
using namespace std;
int t;
int main()
{
cin >> t;
string s1;
string s2;
while (t--) {
cin >> s1;
cin >> s2;
int flag = 0;
int cnt = 0;
if (s2.size() == 1) {
if (s2[0] == 'a') {
cnt = 1;
}
}
if (cnt == 1) {
cout << 1 << endl;
continue;
}
for (int i = 0; i < s2.size(); i++) {
if (s2[i] == 'a') {
flag = 1;
}
}
if (flag == 1) {
cout << -1 << endl;
continue;
}
else {
long long ans = pow(2, s1.size());//注意数字比较大需要用long long来接收
cout << ans<< endl;
}
}
}