这道题比我想象的要简单很多,我想它之所以不用栈和如此简单的原因,大概是没有要求顺序的输出吧。。
#include<stdio.h>
#include<math.h>
int main()
{
char str[10];
int t,n,ans,m,mod;
scanf("%d",&t);
while(t--)
{
ans=0;
mod=1;
scanf("%d",&m);
for(int i=1;i<=m;i++)
{
scanf("%s",str);
if(str[0]=='I')
mod*=20;
if(str[0]=='S')
{
scanf("%d",&n);
ans+=n*60/mod;
}
if(str[0]=='O')
mod/=20;
}
printf("%d\n",ans);
}
return 0;
}