零件
Description
有一种工业零件,分成左右两半,它们的形状由’X’和空格表示的二维图形表示,比如:左半的零件形状如下:
XXXXX
XXX
XXXX
XXX
右半的零件的形状如下
XXX
XXXX
XXXX
XXXXX
所有的左半边的零件的左边第一列都是X,所有右半的零件的右边第一列都是X。
把这样的左右两个零件紧密地拼在一起,则可能存在空洞。零件本身也可能有空洞,但不会存在断裂的零件,每个空洞为一个空格,要求你写一个程序求出空洞的大小(空格的数目)。
输入:
第一行是一个整数K,表示有多少个测试用例,以后每一个测试用例占2n+1行。每个测试用例的第一行为一个整数n,(1<=n<=20),从第2行到n+1行为左半零件的二维图形,从第n+2行到2n+1行为右半零件。左半零件左对齐,最长一行不超过25列,
右半零件右对齐,最长一行不超过25列
输出:
每行输出一个测试用例的结果。
Sample Input
2
4
XXXXX
XXX
XXXX
XXX
XXX
XXXX
XXXX
XXXXX
2
XXXXX
X
XXXXX
XXX
Sample Output
1
6
#include<iostream>
using namespace std;
char a[21][25],b[21][25];
int len[42];
int main()
{
int k,n;
cin>>k;
while(k--)
{
cin>>n;
getchar();
int i,j,sum1=0,sum2=0;
for(i=0;i<n;i++) gets(a[i]);
for(i=0;i<n;i++) gets(b[i]);
for(i=0;i<n;i++)
{
sum1=0;sum2=0;
for(j=0;j<strlen(a[i]);j++)
{
if(a[i][j]=='X')
sum1++;
}
for(j=0;j<strlen(b[i]);j++)
{
if(b[i][j]=='X')
sum2++;
}
len[i]=sum1;
len[i+n]=sum2;
}
int max=0;
for(i=0;i<n;i++)
{
if(len[i]+len[i+n]>max)
max=len[i]+len[i+n];
}
int sum=0;
sum=n*max;
for(i=0;i<n;i++)
{
sum=sum-len[i]-len[i+n];
}
cout<<sum<<endl;
}
return 0;
}
分享到:
相关推荐
这个“基于C++实现的ACM竞赛常用模板”是一个集成了ACM比赛常见问题解决方案的代码库,可以帮助参赛者快速理解和解决各种竞赛题目。 首先,模板通常包括基础数据结构和算法的实现,例如: 1. **排序算法**:快速...
《ACM ICPC程序设计与分析(C++实现)》是一本专为参与ACM国际大学生程序设计竞赛(International Collegiate Programming Contest, 简称ICPC)的参赛者及对此领域感兴趣的程序员编写的指导书籍。书中深入探讨了在...
### ACM&C++实用技巧与模板库 #### 一、引言 在计算机科学领域,特别是针对ACM(Association for Computing Machinery)竞赛等编程比赛,掌握高效且简洁的编程技巧至关重要。C++作为这类比赛中最常用的语言之一,...
详细讲述了acm的编程及各种算法知识,书中代码全部用c++实现,对c++泛型编程也有着极大地帮助
这是一道比较经典的剪枝题目,如果不仔细考虑到 题目特性,就不能了解到搜索的速度
**基于C++的ACM模板**是用于解决算法竞赛(如国际大学生程序设计竞赛ICPC或ACM/ICPC)中的编程问题的一种高效框架。在这些竞赛中,参赛者需要编写程序来解决各种数学和逻辑问题,速度和准确性是关键。C++语言因其...
标题中的"ACM_OJ_程序设计基础课程资料.rar_ACM_C++_pathon"表明这是一个关于ACM(国际大学生程序设计竞赛)在线判题(Online Judge,简称OJ)的课程资料,主要涵盖C++和Python两种编程语言。这个压缩包可能是为参与...
【自用】ACM-C++ 是一个集合了多种资源的压缩包,主要针对参与 ACM(国际大学生程序设计竞赛)的选手,尤其是那些使用 C++ 语言进行编程的参赛者。这个压缩包包含了不同类型的文件,旨在帮助用户提高在ACM比赛中的...
“基于C++实现的ACM竞赛常用模板文件”是一个旨在帮助ACM参赛者快速掌握和应用ACM比赛中常见问题解决方案的代码库。这些模板经过精心设计,能够为参赛者提供一个清晰的框架,使他们能够在短时间内理解并解决各类算法...
【ICPC-ACM_C++_Codeforces_] 这个标题揭示了我们即将探讨的是一个与ACM(国际大学生程序设计竞赛)相关的主题,而使用的编程语言是C++,并且这个话题与Codeforces平台上的算法比赛题目有关。Codeforces是一个全球...
acm吃糖果的题目,自己根据提示写的比较简单的代码,欢迎指正
ACM模板和一些题目的代码实现c++源码.zipACM模板和一些题目的代码实现c++源码.zipACM模板和一些题目的代码实现c++源码.zipACM模板和一些题目的代码实现c++源码.zipACM模板和一些题目的代码实现c++源码.zipACM模板和...
C++ STL 库函数总结是指 C++ 标准模板库(Standard Template Library)的函数总结,主要用于 ACM 竞赛方面的应用。本总结涵盖了 STL 库的集合(set)部分,包括其定义、成员函数、迭代器、元素操作等方面的知识点。 ...
总的来说,这个基于C++的ACM-ICPC模板是参赛者在备赛过程中必不可少的工具,它可以帮助参赛者专注于算法设计,而不需要花费过多精力在代码实现的细节上。通过学习和使用这套模板,选手可以提升自己的编程效率,提高...
ACM经典C++题目:Gone Fishing算法详解及源代码.doc
ACM 模板详解 ACM(Association for Computing Machinery)模板是指一类用于记录算法竞赛代码的模板,通常包含了数据结构、算法、数学公式等多方面的知识点。本文将对 ACM 模板的结构和内容进行详细的解释,并对...
ACM竞赛通常采用C++作为主要编程语言,因此我们可以推测这个题目需要使用C++来编写解决方案。C++是一种强大的、高效的编程语言,特别适合处理计算密集型任务。然而,要解决性能问题,仅仅掌握语法是不够的,还需要...
标题 "ACM杭电1002 C++程序" 指向的是一个与ACM国际大学生程序设计竞赛相关的题目,具体是杭州电子科技大学(Hangzhou Dianzi University)在线评测系统上的第1002号问题。这个问题要求用C++编程语言来解决大数相加...
ACM中的常用高精度模板,内容:大数加法,大数乘小数,大数乘大数,大数除法。
“基于C++实现的ACM竞赛常用模板源代码”这一代码库是专门为ACM竞赛选手量身打造的工具,它集合了ACM竞赛中最常见的问题类型及其解决方案。通过这些模板代码,参赛者可以快速掌握各类问题的解决思路,节省宝贵的编码...