在准备蓝桥杯的过程中刷题刷到了产生数这道题目, 做完后发现网上的答案都过于麻烦,所以把自己的代码贴到这里, 如果有错勿喷!
介于本体只要求输出产生数的个数,这也是我做法的关键点,不需要增加产生数的存储!
#include <bits/stdc++.h>
using namespace std;
struct S
{
char x;
char y;
};
int main()
{
string s;
cin >> s;
int k;
cin >> k;
int count = 1;
struct S st[k];
for(int i=0; i<k; i++)
{
cin >> st[i].x >> st[i].y;
}
int i = 0;
while( i < s.length() )
{
for(int j=0; j<k; j++)
{
if( s[i] == st[j].x )
{
count *= 2;
break;
}
}
i++;
}
cout << count << endl;
return 0;
}