推断一个序列是否是有效是简单的。

可是推断序列是不是有多个解会出问题。

那么从i=0 ~l

假设读到问号,推断该问号成为(能否有效,该问号为)是否有效。

假设都有效,则必有多个解。

假设都无效,则无解。

假设一个有效,则把问号改成有效的括号。

代码实现例如以下

#include<stdio.h>
#include<string.h>
char s[1000005],tp[1000005];
int l;
int pd()
{
int zuo,you,num,i;
num=0;
zuo=0;
you=0;
for(i=0;i<l;i++)
{
num++;
if(num==1)
{
if(tp[i]=='?')
tp[i]='('; } if(tp[i]=='(') zuo++;
if(tp[i]==')') you++;
if(you>num/2)
{
return 0;
}
if(num%2==0)
{
if(you==num/2)
{
zuo=0;
you=0;
num=0;
}
} }
if(zuo>num/2) return 0;
num=0;
zuo=0;
you=0;
for(i=l-1;i>=0;i--)
{
num++;
if(num==1)
{
if(tp[i]=='?')
tp[i]=')';
}
if(tp[i]=='(') zuo++;
if(tp[i]==')') you++;
if(zuo>num/2)
{
return 0;
}
if(num%2==0)
{
if(zuo==num/2)
{
zuo=0;
you=0;
num=0;
}
} }
if(you>num/2) return 0;
return 1; }
int main()
{
int zuo,you,x,y,i;
while(scanf("%s",s)!=EOF)
{
l=strlen(s);
if(l%2==1)
{
printf("None\n");
continue;
} else
{
strcpy(tp,s);
x=pd();
if(x==0)
{
printf("None\n");
continue;
}
for(i=0;i<l;i++)
{
if(s[i]=='?')
{
strcpy(tp,s);
tp[i]=')';
x=pd();
strcpy(tp,s);
tp[i]='(';
y=pd();
if(x+y==2)
{printf("Many\n");
break;
}
if(x+y==0)
{
printf("None\n");
break;
}
if(x==1)
s[i]=')';
else
s[i]='(';
} }
if(i==l)
{
printf("Unique\n"); }
}
}
return 0;
}

hdu 4915 Parenthese sequence 多校第五场的更多相关文章

  1. hdu 4915 Parenthese sequence(模拟)2014多培训学校5现场

    Parenthese sequence                                                                     Time Limit: ...

  2. HDU 4915 Parenthese sequence

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4915 解题报告:从前往后遍历一次,每次判断')'的数目是不是满足 n < (i +1)/ 2,从 ...

  3. HDU 4915 Parenthese sequence _(:зゝ∠)_ 哈哈

    哦,我没做 #include <cstdio> #include <cstring> #include <algorithm> const int N = 1000 ...

  4. hdu 4915 Parenthese sequence--2014 Multi-University Training Contest 5

    主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4915 Parenthese sequence Time Limit: 2000/1000 MS (Ja ...

  5. 多校第五场 归并排序+暴力矩阵乘+模拟+java大数&amp;记忆化递归

    HDU 4911 Inversion 考点:归并排序 思路:这题呀比赛的时候忘了知道能够用归并排序算出逆序数,可是忘了归并排序的实质了.然后不会做-- 由于看到题上说是相邻的两个数才干交换的时候.感觉 ...

  6. [2019HDU多校第五场][HDU 6626][C. geometric problem]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6626 题目大意:给出平面上六个点\(A,B,M,N,X,Y\)以及两条直线\(L1,L2\),要求在四 ...

  7. hdu多校第五场1005 (hdu6628) permutation 1 排列/康托展开/暴力

    题意: 定义一个排列的差分为后一项减前一项之差构成的数列,求对于n个数的排列,差分的字典序第k小的那个,n<=20,k<=1e4. 题解: 暴力打表找一遍规律,会发现,对于n个数的排列,如 ...

  8. 2014多校第五场1010 || HDU 4920 Matrix multiplication(矩阵乘法优化)

    题目链接 题意 : 给你两个n*n的矩阵,然后两个相乘得出结果是多少. 思路 :一开始因为知道会超时所以没敢用最普通的方法做,所以一直在想要怎么处理,没想到鹏哥告诉我们后台数据是随机跑的,所以极端数据 ...

  9. 2014多校第五场1001 || HDU 4911 Inversion (归并求逆序数)

    题目链接 题意 : 给你一个数列,可以随意交换两相邻元素,交换次数不超过k次,让你找出i < j 且ai > aj的(i,j)的对数最小是多少对. 思路 : 一开始想的很多,各种都想了,后 ...

随机推荐

  1. JavaScript动态更改页面元素

    通过JavaScript动态变化HTML元素 至HTML加元 首先需要创建一个标签,然后添加到标签中的相应的内容.然后创建添加到相应的位置好标签. <!DOCTYPE html PUBLIC & ...

  2. IOT(Index Organized Table)

    我们知道一般的表都以堆(heap)的形式来组织的,这是无序的组织方式.Oracle还提供了一种有序的表,它就是索引组织表,简称IOT表.IOT表上必须要有主键,而IOT表本身不对应segment,表里 ...

  3. Android.mk参数解释

    -------------------- 下面对Android.mk 中经常出现的变量进行讲解 -------------------- 这些变量,你会经常在Android.mk文件中见到,下面以字表 ...

  4. 高性能 Socket 组件 HP-Socket v3.2.1-RC2 公布

    HP-Socket 是一套通用的高性能 TCP/UDP Socket 组件,包括服务端组件.client组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C+ ...

  5. Python在信号与系统(1)——Hilbert兑换,Hilbert在国家统计局的包络检测应用,FIR_LPF滤波器设计,格鲁吉亚也迫使高FM(PM)调制

    谢谢董老师,董老师是个好老师. 心情久久不能平静,主要是高频这门课的分析方法实在是让我难以理解,公式也背只是,还是放放吧. 近期厌恶了Matlab臃肿的体积和频繁的读写对我的Mac的损害,所以学习了一 ...

  6. 自动同步Android源代码的脚本(repo sync)

    #!/bin/bash echo "================start repo sync====================" repo sync -j5 ]; do ...

  7. yum使用总结(转)

    安装一个软件时yum -y install httpd安装多个相类似的软件时yum -y install httpd*安装多个非类似软件时yum -y install httpd php php-gd ...

  8. 认识Backbone (三)

    Backbone.Collection(集合)  collection是model对象的一个有序的组合,我们可以在集合上绑定 "change" 事件,从而当集合中的模型发生变化时f ...

  9. 浅谈http请求数据分析

    前段时间,我一个朋友给我打了个电话.说是现在在搞网络销售,问我能不能帮他整个自动发帖机.说实在的,以前没有弄过这块,我就跟他讲我试试看吧,能不能成不能保证.毕竟是搞程序的嘛,自学的能力还是有滴.经过一 ...

  10. Statement和PreparedStatement的区别; 什么是SQL注入,怎么防止SQL注入? (转)

    问题一:Statement和PreparedStatement的区别 先来说说,什么是java中的Statement:Statement是java执行数据库操作的一个重要方法,用于在已经建立数据库连接 ...