GitBook

这里写图片描述 这里写图片描述

出的挺有意思的一个题目

中间卡住了一点点 不过整体来看还不算难

#include<stdio.h>
int main() {
	int T;
	scanf("%d",&T);
	while(T--) {
		int M,fl=0,sum=0;
		char s[20];
		scanf("%d",&M);
		while(M--) {
			scanf("%s",s);
			if(s[0]=='I')
				fl++;
			else if(s[0]=='O')
				fl--;
			else {
				int t;
				scanf("%d",&t);
				t*=60;
				int cnt=fl;
				while(cnt--) {
					t/=20;
				}
				sum+=t;
			}
		}
		printf("%d\n",sum);
	}
	return 0;
}

标程的简化是直接用可运算的数字来代表梦境层数 从而简化运算

#include<iostream>
#include<string>
using namespace std;
int main() {
	int m;
	string s;
	cin>>m;
	while(m--) {
		int p=1,n,t=0,tt;
		cin>>n;
		while(n--) {
			cin>>s;
			if(s=="STAY") {
				cin>>tt;
				t+=tt*60/p;
			} else if(s=="IN") p*=20;
			else p/=20;
		}
		cout<<t<<endl;
	}
}

题目地址:【NYOJ】[125]盗梦空间