题目大意:略

傻了吧唧的我wa了好几次

我的模拟功底真的不咋地

linux下用gets会报错,我用的fgets

 #include <string>
#include "stdio.h"
#include <cstring>
#include <iostream>
#include <algorithm>
#define ll long long
#define N 1010
#define rint register int
#define ll long long
#define il inline
#define idx(x) (x-'a'+1)
#define idg(x) (x-'0')
using namespace std;
//re
int T,n,cnt,j;
int use[];
char str[][];
inline bool isdig(char c)
{return (''<=c&&c<='')?:;}
int dfs()
{
int ans=,now=j,val=,cal=;
if(str[j][]=='E') return -;
if(str[j][]=='F')
{
if(use[idx(str[j][])])
return -;
use[idx(str[j][])]=;
while(str[j+][]=='F')
{
j++,cal=dfs();
if(cal==-) return -;
ans=max(ans,cal);
}
int k=;
while(isdig(str[now][k]))
val=val*+idg(str[now][k]),k++;
k++;
if(str[now][]=='n'){
if(str[now][]!='n') ans=;
}else if(!isdig(str[now][k])){
ans++;
}else{
int w=;
while(isdig(str[now][k]))
w=w*+idg(str[now][k]),k++;
if(val>w) ans=;
}
}
use[idx(str[now][])]=;
j++;
if(str[j][]!='E') return -;
else return ans;
} int main()
{
//freopen("complexity6.in","r",stdin);
scanf("%d",&T);
for(int t=;t<=T;t++)
{
int q=;
scanf("%d",&n);
memset(str,,sizeof(str));
memset(use,,sizeof(use));
scanf("%s\n",str[]);
for(int i=;i<=n;i++)
fgets(str[i],,stdin);
int ret=,ans=;j=;
for(;j<=n;j++){
ans=dfs();
if(ans==-){ret=-;printf("ERR\n");break;}
else {ret=max(ret,ans);}
}
if(ret==-) continue;
int k=,flag=;
while(){
if(str[][k]=='n') flag=;
if(!isdig(str[][k]))
{k++;continue;}
while(isdig(str[][k]))
q=q*+idg(str[][k]),k++;
break;
}
if(flag==) q=;
if(ret==q) printf("Yes\n");
else printf("No\n");
}
return ;
}

NOIP 2017 时间复杂度 (模拟)的更多相关文章

  1. noip 2017 时间复杂度

    自认为是少有的复杂的代码 这题思想很简单,就是大模拟 对于for循环,一行读入4个字符串,然后分类讨论: ①:如果是一个正常的O(n),那么累计n的指数加1 ②:如果是一个常数级别的,那么继续循环,但 ...

  2. 「NOIP 2017」列队

    题目大意:给定一个 $n times m$ 的方阵,初始时第 $i$ 行第 $j$ 列的人的编号为 $(i-1) times m + j$,$q$ 次给出 $x,y$,让第 $x$ 行 $y$ 列的人 ...

  3. NOIP 2017 列队 - Splay - 树状数组

    题目传送门 传送点I 传送点II 题目大意 (家喻户晓的题目应该不需要大意) (我之前咋把NOIP 2017打成了NOIP 2018,好绝望) Solution 1 Splay 每行一颗Splay,没 ...

  4. 计蒜客 NOIP 提高组模拟竞赛第一试 补记

    计蒜客 NOIP 提高组模拟竞赛第一试 补记 A. 广场车神 题目大意: 一个\(n\times m(n,m\le2000)\)的网格,初始时位于左下角的\((1,1)\)处,终点在右上角的\((n, ...

  5. 【游记】NOIP 2017

    时间:2017.11.11~2017.11.12 地点:广东省广州市第六中学 Day1 T1:看到题目,心想这种题目也能放在T1? 这个结论我之前遇到过至少3次,自己也简单证明过.初见是NOIP200 ...

  6. NOIP 2017 解题报告

    ---恢复内容开始--- NOIP 2017 的题真的很难啊,怪不得当年我这个萌新爆零了(当然现在也是萌新)越学越觉得自己什么都不会. 想要成为强者要把这些好题都弄懂弄透 至少现在6道题我都比较陌生 ...

  7. NOIP 2017 小凯的疑惑

    # NOIP 2017 小凯的疑惑 思路 a,b 互质 求最大不能表示出来的数k 则k与 a,b 互质 这里有一个结论:(网上有证明)不过我是打表找的规律 若 x,y(设x<y) 互质 则 : ...

  8. 历年真题 未完成(Noip 2008 - Noip 2017)

    Noip 2008 :全部 Noip 2009 :全部 Noip 2010 :AK Noip 2011 :AK Noip 2012 : Vigenère 密码,国王游戏,开车旅行 Noip 2013 ...

  9. 洛谷 P3951 NOIP 2017 小凯的疑惑

    洛谷 P3951 NOIP 2017 小凯的疑惑 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付 ...

随机推荐

  1. 【JavaScript框架封装】实现一个类似于JQuery的基础框架、事件框架、CSS框架、属性框架、内容框架、动画框架整体架构的搭建

    /* * @Author: 我爱科技论坛 * @Time: 20180715 * @Desc: 实现一个类似于JQuery功能的框架 * V 1.0: 实现了基础框架.事件框架.CSS框架.属性框架. ...

  2. 玩家福音:10款最佳Linux免费游戏

    “我能在Linux平台上游戏吗?”这类疑问正困扰游戏玩家,那么答案就是“快去Linux平台吧!”.开源组织一直以来坚持不懈为Linux操作系统开发不同类型的游戏,在Linux平台下的游戏完全不亚于其他 ...

  3. selenium+java解决富文本输入

    方法一: Actions actions = new Actions(driver); actions.sendKeys(Keys.TAB).perform(); //鼠标通过tab要先移到富文本框中 ...

  4. js 只能输入英文和数字,且首位必须是字母,字母总数不能超过3个,总长度不能超过20!

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  5. BA-BACnet对象

    BACNET协议有多少个对象呢,拿出西门子教程中的看看一下,居然有48个,其中的大部分都没有用到:

  6. HDU 5167

    范围 内的斐波那契的数不多,求出范围内的数,再暴力枚举即可. #include <iostream> #include <cstdio> #include <algori ...

  7. WebService概述和CXF入门小程序

    一. 什么是WedService? WebService不是框架, 甚至不是一种技术, 而是一种跨平台,跨语言的规范, WebService的出现是为了解决这种需求场景: 不同平台, 不同语言所编写的 ...

  8. 赵雅智_android获取本机运营商,手机号部分能获取

    手机号码不是全部的都能获取.仅仅是有一部分能够拿到. 这个是因为移动运营商没有把手机号码的数据写入到sim卡中.SIM卡仅仅有唯一的编号.供网络与设备 识别那就是IMSI号码,手机的信号也能够说是通过 ...

  9. C/C++学习:函数指针

    曾经在书上看到函数指针相关的都没怎么重视.可是近期在实际的工作中却派上了用场.所以认真地学习了一遍. 函数指针的申明 申明一个函数指针非常easy,就是将函数申明中的函数名替换为一个指针就可以: C/ ...

  10. tp中使用事务

    是什么 事务是为了防止,多个操作,其中有失败,数据有部分被执行成功的时候使用的. 比如,银行,用户转账.张三钱扣了,结果李四钱还增加! 这个时候需要使用事务,确保张三钱扣了,李四的钱也增加,才真正的成 ...