Sample Input
3 1(2) 2(3) 3(4) 4 11(10) 11(2) 11(3) 11(4)
Sample Output
6 23
题目大意&&思路:进制转换的水题,括号内是说明括号前的数是几进制表示的,最后输出他们的和;
sscanf很优雅很喜欢,虽然更强大的还有正则表达式,但是用她在比赛中应该已经收效不少~~大爱~~
AC program:
#include<iostream>
using namespace std;
int main()
{
char from[50];
int to;
int n;
while(cin>>n)
{
char tmp[50];
int sum=0;
for(int i=0;i<n;i++)
{
cin>>tmp;
sscanf(tmp,"%[^(](%d%[^)]",from,&to);
//printf("%s %d\n", from,to);
int len=strlen(from);
int base=1;
for(int i=len-1;i>=0;i--)
{
sum+=(from[i]-'0')*base;
base*=to;
}
}
cout<<sum<<endl;
}
//system("pause");
return 0;}