题目大意:略

傻了吧唧的我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. Project Euler 32 Pandigital products

    题意:找出所有形如 39 × 186 = 7254 这种,由 1 - 9,9个数字构成的等式的和,注意相同的积不计算两次 思路:如下面两种方法 方法一:暴力枚举间断点 /*************** ...

  2. anaconda jupyter

    本文主要讲解在Ubuntu系统中,如何在Anaconda下安装TensorFlow以及配置Jupyter Notebook远程访问的过程. 在官方文档中提到,TensorFlow的安装主要有以下五种形 ...

  3. 2015 Multi-University Training Contest 8 hdu 5385 The path

    The path Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on HDU. Original ID: 5 ...

  4. iOS 打印出视图中全部的子视图的名称

    使用递归: - (void)listSubviewsOfView:(UIView *)view { // Get the subviews of the view NSArray *subviews ...

  5. HDOJ 题目3518 Boring counting(后缀数组,求不重叠反复次数最少为2的子串种类数)

    Boring counting Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  6. jquery 弹窗插件 layer

    jquery 弹窗插件 layer 官网:http://sentsin.com/jquery/layer/ 1 <!DOCTYPE html PUBLIC "-//W3C//DTD H ...

  7. 高并发之web服务器负载均衡简单介绍

    负载均衡种类 F5,七层负载均衡,四层负载均衡 Nginx负载均衡 内置策略.扩展策略 内置策略:IPHash.加权轮询 扩展策略:fair策略.通用hash.一致性hash 加权轮询策略 首先将请求 ...

  8. FluentAPI配置

    基本 EF 配置只要配置实体类和表.字段的对应关系.表间关联关系即可. 如何利用 EF的高级配置,达到更多效果:如果数据错误(比如字段不能为空.字符串超长等),会在 EF 层就会报错,而不会被提交给数 ...

  9. WIN7把任务栏的的蓝牙图标误删了找回方法

    当时我删了以后,在网上找方法,都说—— 点击任务栏下面的三角箭头,选择自定义,里面有蓝牙图标选项,选择显示图标和通知. 可是我发现我的自定义选项里面就没有蓝牙图标选项啊... 故事的最后,我终于找到了 ...

  10. 在vue中使用less

    首先vue环境搭建成功 第一步: 安装 less 和less-loader 安装less依赖:npm install less less-loader --save 第二步: 修改webpack.ba ...