#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
string str;
cin>>str;
int flag=;
for(int l=;l<;l++){
string t;
cin>>t;
for(int i=;i<t.size();i++){
for(int j=;j<str.size();j++){
if(str[j]==t[i]){
flag=;
}
}
}
}
if(flag){
cout<<"YES";
}else{
cout<<"NO";
}
return ;
}

直接暴力就过了。

 #include<bits/stdc++.h>
using namespace std;
#define int long long
int arr[];
int ans[];
signed main(){
int n;cin>>n;
for(int i=;i<=n;i++){
cin>>ans[i];
arr[i]=;
}
int flag=;
for(int i=;i<=n;i++){
for(int j=;j<=;j++) arr[i]=;
for(int j=;j<i;j++) arr[j]=-;
do{
int sum=;
for(int k=;k<=n;k++){
sum+=ans[k]*arr[k];
}
if(sum%==||sum==){
// for(int k=1;k<=n;k++) cout<<arr[k]<<" ";
// cout<<'\n';
flag=;
break;
}
}while(next_permutation(arr+,arr+n+));
if(flag){
break;
}
}
if(flag) cout<<"YES";
else cout<<"NO";
return ;
}

题意:有n个只含有'('和')'的字符串,现在要字符串两两拼接,如果一个拼接后的字符串中的括号都配对了就称为完美匹配,问最多有几个完美匹配。(())就算一个完美匹配,))((或者())就不算。

直接将每对中合法的先抛掉,然后取最值。

 #include<bits/stdc++.h>
using namespace std;
#define int long long
int vis1[];
int vis2[];
signed main(){
int n;cin>>n;int add=;
for(int i=;i<=n;i++){
string str;
cin>>str;
stack<char> s;
for(int j=;j<str.size();j++){
if(s.empty()){
s.push(str[j]);
}else{
char temp=s.top();
if(temp=='('&&str[j]==')'){
s.pop();
}else{
s.push(str[j]);
}
}
}
if(s.empty()){
add++;
}else{
int flag1=;
int flag2=;
int num=s.size();
while(!s.empty()){
char t=s.top();s.pop();
if(t=='('){
flag1=;
}else{
flag2=;
}
}
if(flag1&&flag2){
continue;
}else if(flag1&&!flag2){
vis1[num]++;
}else if(!flag1&&flag2){
vis2[num]++;
}
} }
int ans=add/;
for(int i=;i<=;i++){
ans+=min(vis1[i],vis2[i]);
}
cout<<ans<<'\n';
return ;
}

最新文章

  1. C++: Virtual Table and Shared Memory
  2. 年底发福利了——分享一下我的.NET软件开发资源
  3. welcome to learn prgram
  4. zz Must read
  5. 转 LoadRunner 技巧之 IP欺骗 (推荐)
  6. 转:ecshop商品分类页获取相册列表方法
  7. jquery操作常用HTML控件
  8. Win10/UWP开发—使用Cortana语音指令启动前台App
  9. 寒假222_codeforces 290 div 2 D
  10. use worker without js file
  11. UC全屏
  12. WindowsForm 流
  13. Android的图片,字符串,demin,color,以及Array,boolean,Integer资源的使用-android学习之旅(五十四)
  14. 【译】最大限度地降低多线程 C# 代码的复杂性
  15. 怎样在ASP.NET(C#) 使用Json序列化反序列化问题?
  16. 批量修改所有服务器的dbmail配置
  17. 【XSY2731】Div 数论 杜教筛 莫比乌斯反演
  18. vue全家桶+Koa2开发笔记(4)--redis
  19. Nutch相关视频教程3
  20. BASIC-11_蓝桥杯_十六进制转十进制

热门文章

  1. Go语言( 流程控制)
  2. 使用PHP开发HR系统(2)
  3. 【scratch3.0教程】2.1 涂鸦花朵
  4. Create your first Java application
  5. 递归在JavaScript中的应用实例
  6. Java JDK1.8源码学习之路 1 Object
  7. 如何更精准地设置 C# / .NET Core 项目的输出路径?(包括添加和删除各种前后缀)
  8. DevExtreme学习笔记(一) DataGrid中MVC分析
  9. 前端开发 Vue Vue.js和Nodejs的关系
  10. String字符串常用方法