题目大意:略

傻了吧唧的我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. P3369 【模板】普通平衡树 (splay 模板)

    题目描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入x数 删除x数(若有多个相同的数,因只删除一个) 查询x数的排名(排名定义为比当前数小的数的个数+1.若有多 ...

  2. docker安装tensorflow环境遇到的问题与解决方案

    docker安装 Tensorflow遇到问题i/o timeout. docker: Error response from daemon: Get https://gcr.io/v1/_ping: ...

  3. SSM整合(spring,spirngmvc,mybatis)

    整合思路   准备环境:导入jar包(spring mybatis  dbcp连接池  mysql驱动包 log4j) 工程结构: --------------------------- 1.  整合 ...

  4. ZOJ 2314 Reactor Cooling

    Reactor Cooling Time Limit: 5000ms Memory Limit: 32768KB This problem will be judged on ZJU. Origina ...

  5. nyoj 115dijkstar求最短路

    #include<stdio.h> #include<string.h> #define inf 0x3fffffff #define N 1100 int ma[N][N], ...

  6. ASP.NET CORE--WIN10上无法单步调试解决方法

    参考这篇文章 http://www.cnblogs.com/artech/p/debug-in-vs-code.html In order to be able to debug cross-plat ...

  7. Windows-命令窗口-强制关机命令

    Windows +R CMD  命令行窗口shutdown -s -f -t 以上参数中的-s代表关机,-f表示强制关闭所有应用程序,-t 00代表不用等待立即执行(时间以秒计算,把时间改长就变成了定 ...

  8. Android开发之使用BroadcastReceiver实现开机自己主动启动(源码分享)

    上一节已经介绍过BroadcastReceiver实现实时监听电量的功能,这节就来介绍一下假设实现开机自己主动启动的功能.这个比监听电量还简单不少 (1)在清单文件注冊权限 <uses-perm ...

  9. HDU 2045不easy系列之三LELE的RPG难题(趋向于DP的递推)

    不easy系列之(3)-- LELE的RPG难题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Ot ...

  10. VMWare虚拟机下为Ubuntu 12.04.1网络设置(NAT方式)

    NAT方式: 虚拟机能够上外网,能够訪问宿主计算机所在网络的其它计算机(反之不行). 第一步:设置虚拟机vmware网络參数 (1)打开虚拟机,选择菜单"编辑">" ...