UVa 414 - Machined Surfaces
题目:每行25个字符,左开始为X,右边也是X,中间为空格B;当所有行的左右X相互向内移动,直到有一行左右X相遇;这时所有行中间一共还有多少空格B。
思路:中间空格最少的行一定最先相遇,即X最多的行最先相遇;当X最多行相遇时,每行减少的空格数相同,则用X最多行的X数减去每一行的X数即为每一行剩余的空格数。
可以这样理解,设X最多行的X数为N,则空格数为25-N,那么当X最多行相遇时,每一行可以看做还剩N个字符。则此时每行的空格数为N-X的个数。
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std; int main()
{
// freopen("input.txt","r",stdin);
string s;
int count,n,i,max,j;
int aa[];
while(cin>>n&&n)
{
getchar();
max=;
memset(aa,,sizeof(aa));
for(j=;j<n;j++)
{
count=;
getline(cin,s);
for(i=;i<s.length();i++)
if(s[i]=='X')
count++;
aa[j]=count;
if(max<count)
max=count;
}
count=;
for(i=;i<n;i++)
{
count+=max-aa[i];
}
cout<<count<<endl;
}
return ;
}
UVa 414 - Machined Surfaces的更多相关文章
- 414 - Machined Surfaces
Sample Input (character "B" for ease of reading. The actual input file will use the ASCII- ...
- uva414 - Machined Surfaces
uva414 - Machined Surfaces /* 水题,值得一提的是,getline使用时注意不能让它多吃回车键,处理方法可以用getchar. */ #include <iostre ...
- UVA_414:Machined Surfaces
Language : C++ 4.8.2 #include<stdio.h> #include<string.h> int main(void) { int n; int su ...
- 【索引】Volume 0. Getting Started
AOAPC I: Beginning Algorithm Contests (Rujia Liu) Volume 0. Getting Started 10055 - Hashmat the Brav ...
- UVA题目分类
题目 Volume 0. Getting Started 开始10055 - Hashmat the Brave Warrior 10071 - Back to High School Physics ...
- POJ题目细究
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
- HOJ题目分类
各种杂题,水题,模拟,包括简单数论. 1001 A+B 1002 A+B+C 1009 Fat Cat 1010 The Angle 1011 Unix ls 1012 Decoding Task 1 ...
- 【转】POJ百道水题列表
以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...
- 最小瓶颈路 Uva 534 Frogger
说明:关于Uva的题目,可以在vjudge上做的,不用到Uva(那个极其慢的)网站去做. 最小瓶颈路:找u到v的一条路径满足最大边权值尽量小 先求最小生成树,然后u到v的路径在树上是唯一的,答案就是这 ...
随机推荐
- Qt工程使用第三方库——Qt下使用glut库
本人使用的环境 操作系统:windows10 Qt构建套件:qt-mingw4.8.5 + mingw4.4.0 Qt Creator版本:3.6.1 本教程配置针对工程而言,每个工程需要单独配置 ...
- 【Gerrit】gerrit server搭建
Part 1 Gerrit Prerequisites: 1.Java JDK>1.7 2.Git 3.SSH server 4.DB part 2 Set local gerrit serv ...
- MongoDB学习笔记四:索引
索引就是用来加速查询的.创建数据库索引就像确定如何组织书的索引一样.但是你的优势是知道今后做何种查询,以及哪些内容需要快速查找.比如:所有的查询都包括"date"键,那么很可能(至 ...
- 迷你DVD管理器(Java版)
import java.text.SimpleDateFormat;import java.util.Date;import java.util.Scanner;class Test { pub ...
- nodejs-基本语法
初识nodejs-基本语法 nodejs是JavaScript的一个在后端的运行环境,关于nodejs的认识,我们可以看上一篇文章<<初识nodejs>>,我们要使用nodej ...
- 安全快速修改Mysql数据库名的5种方法
1. RENAME DATABASE db_name TO new_db_name这个..这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了.据说有可能丢失数据.还是不要用的好.详 ...
- Microsoft .NET Framework NGEN是神马东东?
简单的说,如果你的程序是基于.net framework的托管代码的话,NGEN服务能让你的程序第二次打开的速度变快. 赶脚是非常pad化的一项服务. http://msdn.microsoft.co ...
- phoenix与spark整合
目的是将phoenix做存储,spark做计算层.这样就结合了phoenix查询速度快和spark计算速度快的优点.在这里将Phoenix的表作为spark的RDD或者DataFrames来操作,并且 ...
- JS教程:获取当前地址栏URL
URL即:统一资源定位符 (Uniform Resource Locator, URL) 完整的URL由这几个部分构成:scheme://host:port/path?query#fragment s ...
- javascript性能优化总结二(转载)
上面一篇文章大致介绍了一些javascript当中使用的一些小技巧,当下这篇文章继续介绍一下内存管理.松散耦合.性能方面的一些小知识.为避免错误应该注意的点 内存管理 1.循环引用 如果循环引用中包含 ...