ZOJ 38727(贪心)
这道题真心坑。越想越远 想的飞起来了。 最后纠结起后缀表达式的定义来了.
题意:
就是给你一个串 , 让你用最少改动次数来实它变成一个合法的后缀表达式, 改动方式有两种, 一种是直接加入数字或者*,或者是交换两个字符的位置。
题解:
首先保证星号所须要的数字比当前串的数字大,假设不足,则加入须要数字到字符串首 , 然后从头朝尾扫, 假设当前状态合法则不须要管。当前状态不合法的时候将* 号移到最末尾。然后没了
代码:
#include<stdio.h>
#include<string.h>
int Max(int a, int b)
{
if(a > b) return a;
return b;
}
int main()
{
int T, len;
char s[1005];
scanf("%d", &T);
while(T--)
{
scanf("%s", s);
len = strlen(s);
int num1, num2, Star, Ans, Num;
num1 = num2 = 0;
for(int i = 0; i < len; i++)
if(s[i] == '*') num1 ++;
else num2 ++;
Ans = Max(num1 + 1 - num2, 0);
Star = 0, Num = Ans;
for(int i = 0; i < len; i++)
{
if(s[i] == '*') Star ++;
else Num ++;
if(Star + 1 > Num)
Ans ++, Num ++, Star --;
}
printf("%d\n", Ans);
}
}
ZOJ 38727(贪心)的更多相关文章
- Heap Partition ZOJ - 3963(贪心)
ZOJ - 3963 贪心做一下就好了 反正别用memset #include <iostream> #include <cstdio> #include <sstrea ...
- ZOJ - 3715贪心
ZOJ - 3715KindergartenElection 题目大意:幼儿园里正在举办班长选举,除1号小朋友外每个人都会投他最好的朋友,但1号小朋友可以贿赂别人(小伙子有丶想法),被贿赂的小朋友就会 ...
- zoj 1375 贪心
https://vjudge.net/problem/ZOJ-1375 In modern day magic shows, passing through walls is very popular ...
- ZOJ 3607贪心算法
http://blog.csdn.net/ffq5050139/article/details/7832991 http://blog.watashi.ws/1944/the-8th-zjpcpc/ ...
- ZOJ 3829 贪心 思维题
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3829 现场做这道题的时候,感觉是思维题.自己智商不够.不敢搞,想着队友智商 ...
- ZOJ Problem Set - 3829Known Notation(贪心)
ZOJ Problem Set - 3829Known Notation(贪心) 题目链接 题目大意:给你一个后缀表达式(仅仅有数字和符号),可是这个后缀表达式的空格不幸丢失,如今给你一个这种后缀表达 ...
- 贪心+模拟 ZOJ 3829 Known Notation
题目传送门 /* 题意:一串字符串,问要最少操作数使得成为合法的后缀表达式 贪心+模拟:数字个数 >= *个数+1 所以若数字少了先补上在前面,然后把不合法的*和最后的数字交换,记录次数 岛娘的 ...
- 【贪心+一点小思路】Zoj - 3829 Known Notation
借用别人一句话,还以为是个高贵的dp... ... 一打眼一看是波兰式的题,有点懵还以为要用后缀表达式或者dp以下什么什么的,比赛后半阶段才开始仔细研究这题发现贪心就能搞,奈何读错题了!!交换的时候可 ...
- ZOJ 1025 Wooden Sticks(快排+贪心)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=25 题目大意:机器运送n个木条,每个木条有一个长度和重量.运送第一根木 ...
随机推荐
- Flink资料(7) -- 背压监控
背压(backpressure)监控 本文翻译自Back Pressure Monitoring --------------------------------------------------- ...
- 走进C标准库(3)——"stdio.h"中的getc和ungetc
接前文. 再来看看getc和ungetc的实现.在看这两个函数的实现之前,我们先来想一想这两个函数分别需要做的工作. int getc(FILE *stream) 说明:函数getc从stream指向 ...
- MVC+JSON 无限滚动翻页
public partial class News { public int ID{ get; set; } public int Title{ get; set; } } ) { Response. ...
- CentOS下重新安装yum
1,下载最新的yum-3.2.28.tar.gz并解压 #wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz#tar xvf yum- ...
- 用“U盘”重新安装(MSDN)原版Windows XP sp3操作系统(图文)
安装微软(MSDN)原版Windows XP sp3系统的方法不少,可以说是很多,但是我就用“U盘”安装.用“U盘”装XP系统也不是什么稀罕事,不会的,就按照下面我常用的“U盘”装原版Windows ...
- (7) 引用Objective-C class library
原文 引用Objective-C class library 这个范例是如何在Xamarin.ios中去使用一个我们自行在Xcode中开发的Objective-c Class Library. 主要会 ...
- C++ 栈的实现
#ifndef _STACK_H #define _STACK_H #pragma once template< class T >class Stack{public: Stack( v ...
- chroot 的用途
http://www.ibm.com/developerworks/cn/linux/l-cn-chroot/ http://liyongxian.blog.51cto.com/432519/1126 ...
- 网易云课堂_C语言程序设计进阶_第5周:链表_1逆序输出的数列
1 逆序输出的数列(10分) 题目内容: 你的程序会读入一系列的正整数,预先不知道正整数的数量,一旦读到-1,就表示输入结束.然后,按照和输入相反的顺序输出所读到的数字,不包括最后标识结束的-1. 输 ...
- #include <algorithm>
1 adjacent_find 查找重复的元素 2 find_if 查找符合条件的第一个元素 3 find_if_not 查找不符合条件的第一个元素 4 for_each 可以遍历每一个元素 5 pa ...