【NYOJ】[125]盗梦空间

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

出的挺有意思的一个题目

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

#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
",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]盗梦空间

原文地址:https://www.cnblogs.com/BoilTask/p/12569843.html