NYOJ 2 括号配对问题

栈的简单应用。可使用STL。

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <stack>
using namespace std;
const int maxn=+; char ch[maxn];
stack<char> s; bool deal()
{
while(!s.empty())
s.pop();
int len=strlen(ch);
for(int i=;i<len;i++)
{
if(ch[i]=='('||ch[i]=='[')
s.push(ch[i]);
else if(!s.empty()&&ch[i]==')')
{
if(s.top()=='(')
s.pop();
else
return ;
}
else if(!s.empty()&&ch[i]==']')
{
if(s.top()=='[')
s.pop();
else
return ;
}
else
return ;
}
return s.empty();
} int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%s",ch);
if(deal())
printf("Yes\n");
else
printf("No\n");
}
return ;
}

NYOJ 5 Binary String Matching

简单模拟

 #include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn=+; char a[maxn],b[maxn]; int deal()
{
int num=,j,len1,len2;
len1=strlen(a);
len2=strlen(b);
for(int i=;i<len2;i++)
{
j=;
while(a[i]==a[j])
{
i++;
j++;
}
if(j==len1)
{
num++;
j=;
}
i-=j;
}
return num;
} int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%s%s",&a,&b);
printf("%d\n", deal());
}
return ;
}

NYOJ 63 小猴子下落

有规律

观察可知,每一层小猴子经过节点往下都是左右轮流。

并且,猴子I为奇数时在二叉树左半部分,偶数时在右半部分,到子结点的猴子数目逐层减半。

所以,我们只需根据I的大小,判断每一层猴子会去左右哪一边。

这里用到一个性质:左子结点编号=父节点*2,右结点编号=父节点*2+1.

 #include <iostream>
#include <cstdio>
#include <cstring>
using namespace std; int main()
{
int d,n,ans;
while(scanf("%d%d",&d,&n)&&(d+n))
{
ans=;
while(--d)
{
if(n%==)
{
n/=;
ans=ans*+;
}
else
{
n=(n+)/;
ans=ans*;
}
}
printf("%d\n",ans);
}
return ;
}

NYOJ 93 汉诺塔(三)

简单模拟

 #include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn=; struct node
{
int len;
int s[maxn];
}h[]; int n,p; void init()
{
h[].len=h[].len=h[].len=-;
for(int i=n;i>=;i--)
h[].s[++h[].len]=i;
} int deal()
{
int x,y,xx,yy,f=;
for(int i=;i<p;i++)
{
scanf("%d%d",&x,&y);
if(f)
continue ;
if(h[x].len!=-)
{
xx=h[x].len;yy=h[y].len;
if(yy!=-&&h[y].s[yy]<h[x].s[xx])
f=;
else
{
h[x].len--;
h[y].len++;
h[y].s[yy+]=h[x].s[xx];
}
}
else
f=;
}
return !f;
} int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&p);
init();
if(deal())
printf("legal\n");
else
printf("illegal\n");
}
return ;
}

NYOJ 简单数据结构的更多相关文章

  1. python学习总结----简单数据结构

    mini-web服务器 - 能够完成简单的请求处理 - 使用http协议 - 目的:加深对网络编程的认识.为后面阶段学习web做铺垫 简单数据结构 - 排列组合 import itertools # ...

  2. 牛客练习赛22-E.简单数据结构1(扩展欧拉定理降幂 +树状数组)

    链接:E.简单数据结构1 题意: 给一个长为n的序列,m次操作,每次操作: 1.区间加 2.对于区间,查询 ,一直到- 请注意每次的模数不同.   题解:扩展欧拉定理降幂 对一个数p取log(p)次的 ...

  3. [LOJ#2326]「清华集训 2017」简单数据结构

    [LOJ#2326]「清华集训 2017」简单数据结构 试题描述 参加完IOI2018之后就是姚班面试.而你,由于讨厌物理.并且想成为乔布斯一样的创业家,被成功踢回贵系. 转眼,时间的指针被指向201 ...

  4. 简单数据结构题(from 钟子谦——IOI2018集训队自选题)

    简单数据结构题(from 钟子谦--IOI2018集训队自选题) 试题描述 给一棵 \(n\) 个点的树,点权开始为 \(0\) ,有 \(q\) 次操作,每次操作是选择一个点,把周围一圈点点权 \( ...

  5. 简单数据结构———AVL树

    C - 万恶的二叉树 Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:32768KB     64b ...

  6. 冬训day3 简单数据结构

    A - 简单计算器 模拟加栈..写一写就好,从头到尾扫一遍,分两个栈存,一个存运算符,一个存中间结果,遇到乘除就先处理了,每次遇到加减就处理上一个加减的两个数,结果压进去...同时把这个运算符存进去. ...

  7. Test 6.29 T4 简单数据结构练习

    问题描述 费了一番功夫,神犇 CJK 终于完成了前三道题目."不错,不愧是新一代神犇啊!" JesseLiu 满意地说道,"不过,你在算法方面的功底固然不错.对于数据结构 ...

  8. [Contest20171102]简单数据结构题

    给一棵$n$个点的数,点权开始为$0$,有$q$次操作,每次操作选择一个点,把周围一圈点点权$+1$,在该操作后你需要输出当前周围一圈点点权的异或和. 由于输出量较大,设第$i$个询问输出为$ans_ ...

  9. UOJ228 简单数据结构练习题

    Description 传送门 维护一个数列, 有以下操作: 对[l,r]同时加上x 把[l,r]开根后下取整. 查询[l,r]之和 n,m \(\leq\)$ 100000, $\(a_i,x \l ...

随机推荐

  1. 项目 XXX 受源代码管理。向源代码管理注册此项目时出错。建议不要对此项目进行任何修改

    原本带vss或者svn管理的项目独立复制出来后,如果出现下面问题 解决办法: 使用记事本打开,项目csproj文件删除图中

  2. rnn,lstm and JuergenSchmidhuber

    JuergenSchmidhuber 是瑞士的一位牛人,主要贡献是rnn, lstm. google的deep mind新作,Human-level control through deep rein ...

  3. 前端JavaScript之DOM使用案例

    1.弹出框点击关闭 (这个例子关键自己创建标签以及属性,不是太好想啊,而且作用相对来数也不是太大) <!DOCTYPE html> <html> <head> &l ...

  4. 循环语句:LOOP,WHILE和数字式循环

    一 简单循环 1 语法: LOOP      要执行的语句;      EXIT WHEN <条件语句> --条件满足,退出循环语句  END LOOP; 2 例子: DECLARE    ...

  5. c# 解决读取Excel混合文本类型,数据读取失败的解决方法

    错误重现: ----------------------------------------------------------------------- 在导入Excel读取数据时,其中的一个字段保 ...

  6. Python函数及参数

    ## 函数 - 函数是代码的一种组织形式,一般一个函数完成一个特定功能 - 函数需要先定义后使用 - 函数的定义 def func_name(参数): func_body ... return fun ...

  7. thinkphp centos7 报class POD not found

    没有安装PDO yum install php70w-pdo yum install php70w-mysqlnd 两条命令搞定

  8. python3 练习题100例 (十八)托儿所问题

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- """练习十八:某托儿所有大.中.小三个班级,其儿童月龄分别用如下 三个列表 ...

  9. 把SmartForm转换成PDF

    摘要:将SmartForm转换为PDF的过程包括3个简单步骤. 调用智能窗体,然后返回OTF数据. 使用“转换”功能模块将OTF数据转换为所需格式. 下载文件 呈现宏“code”时出错:为参数“lan ...

  10. 2 实现第一个Django网站 博客

    -1.理解上下文 render()渲染 request  url传来的reuqest x.html 制定返回的模板名称 context 上下文    数据库中 替换数据 0.大框架 1.创建模板 (1 ...