L1-071 前世档案 - 团体程序设计天梯赛-练习集 (pintia.cn)
因为2^29超出了int的范围所以要使用long long;
#include<iostream>
using namespace std;
long long power(int n) {//求2的n-1次方
long long num = 1;
n--;
if (n > 0)
while (n--) {
num *= 2;
}
return num;
}
int main() {
char ch[30];
long long sum = 0;
int n, m, temp;
bool off = false;
cin >> n;
cin >> m;
while (m--) {
for (int i = 0; i < n; i++) {
cin >> ch[i];
}
sum = 1; temp = n; off = false;
for (int i = 0; i < n; i++) {
if (ch[i] == 'y') {
temp--;
}
if (ch[i] == 'n') {
sum += power(temp);
temp--;
}
}
cout << sum << endl;
}
return 0;
}