代码如下:主要想法是一段一段语句进行处理,在DEV里样例和第一个测试点是正确的,程序正常结束,但一提交到洛谷,全TLE,实在是无法解决
#include<iostream>
#include<map>
#include<ctype.h>
using namespace std;
int main(void)
{
map<char,int> m;
m['a']=0;
m['b']=0;
m['c']=0;
char *st= new char[10];
char c;
int length;
cin>>noskipws>>c;
while(c!='\n')
{
cin.putback(c);
cin.getline(st,10,';');
length=cin.gcount()-1;
if(isalpha(*(st+length-1)))
{
m[*(st)]=m[*(st+length-1)];
}else
{
m[*(st)]=*(st+length-1)-'0';
}
cin>>noskipws>>c;
}
cout<<m['a']<<' '<<m['b']<<' '<<m['c'];
delete st;
return 0;
}