hdu5479
来源:互联网 发布:源码授权是什么 编辑:程序博客网 时间:2024/06/05 04:23
做的时候第一波数据水的要死,结果HACK时间直接被黑了。
从题意来看最后结果为((((或))))或))))((((这三种情况必居其一
思路是从左到右和从右到左各扫描一次记录 ( 和 ) 的到每个位置的数量,求将每个位置左方全转置成 ) 和右方全转置成 ( 需要的次数和,这么算发现有一个转置是不必要的,注意减一
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <algorithm>using namespace std;int main(){ int T; char s[1010]; int r[1010], l[1010]; int i, lens; while (~scanf("%d", &T)) { while (T--) { scanf("%s", s); lens = strlen(s); for (i = lens - 1; i >= 0; i--) { ///扫描 ) 的数量 if (i == lens - 1) { r[i] = (s[i] == ')'); } else { r[i] = r[i + 1] + (s[i] == ')'); } } for (i = 0; i < lens; i++) { ///扫描 ( 的数量 if (i == 0) { l[i] = (s[i] == '('); } else { l[i] = l[i - 1] + (s[i] == '('); } } int ans = 99999999; for (i = 0; i < lens; i++) ans = min(ans, r[i] + l[i] - 1); ///寻找某位置左右转置需要的最小次数,注意减一 printf("%d\n", ans); } } return 0;}
0 0
- hdu5479
- hdu5479
- HDU5479(简单dp)
- hdu5479 最小代价的统计
- hdu5479 括号不匹配最小改变次数
- HDU5479 Scaena Felix【堆栈+输入流】
- HDU5479一串括号转化为没有非空字串是匹配的
- 第一章 软件工程概述
- Auto Layout界面自动布局 (Interface Builder布局)
- JavaScript高级程序设计之面向对象的程序设计之理解对象第6.1讲笔记
- SetConsoleTextAttribute()用法
- 多线程-经典买票问题
- hdu5479
- redis key,string,hash,list,set,zset指令汇总
- android改变字体的颜色的三种方法
- 用struts2开发的App后台,返回json数据中文为问号的解决办法
- Auto Layout界面自动布局系列 (使用VFL添加布局约束)
- 关于JDBC连接Class.forName()的思考
- Auto Layout 界面自动布局系列 (使用代码添加布局约束)
- Swift 学习笔记 - 01
- SQL的四种连接查询