UVA – 414 Machined Surfaces

Machined Surfaces
Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu

SubmitStatus< /p>

Description

Download as PDF

An imaging device furnishes digital images of two machined surfaces that eventually will be assembled in contact with each other. The roughness of this final contact is to be estimated.

A digital image is composed of the two characters, "X" and " " (space). There are always 25 columns to an image, but the number of rows,N , is variable. Column one (1) will always have an "X" in it and will be part of the left surface. The left surface can extend to the right from column one (1) as contiguous X‘s.

Similarly, column 25 will always have an "X"in it and will be part of the right surface. The right surface can extend to the left from column 25 as contiguousX‘s.

Digital-Image View of Surfaces

 Left Right 

tex2html_wrap_inline50

tex2html_wrap_inline52

tex2html_wrap_inline54tex2html_wrap_inline56

1 25

XXXX XXXXXXXX XXXXXXXXXXXX XXXXXX XXXXXX...XXXX XXXXXXX XXXXXX

In each row of the image, there can be zero or more space characters separating the left surface from the right surface. There will never be more than a single blankregion in any row.

For each image given, you are to determine the total “void” that will exist after the left surface has been brought into contact with the right surface. The “void” is the total count of the spaces that remains between the left and right surfaces after they have been brought into contact .

The two surfaces are brought into contact by displacing them strictly horizontally towards each other until a rightmost "X" of the left surface of some row is immediately to the left of the leftmost "X" of the right surface of that row. There is no rotation or twisting of these two surfaces as they are brought into contact; they remain rigid, and only move horizontall y.

Note: The original image may show the two surfaces already in contact, in which case no displacement enters into the contact roughness estimation.

Input

The input consists of a series of digital images. Each image data set has the following format:

First line –

< dd> A single unsigned integer, N, with value greater than zero (0) and less than 13. The first digit of N will be the first character on a line.

NextNlines –

Each line has exactly 25 characters; one or more X‘s, then zero or more spaces, then one or more X‘s.

The end of data is signaled by a null data set having a zero on the first line of an image data set and no further data.

Output

For each image you receive as a data set, you are to reply with the total void ( count of spaces remaining after the surfaces are brought into contact). Use the default output for a single integer on a line.

Sample Input(character"B"for ease of reading. The actual input file will use the ASCII-space character, not "B").

4XXXXBBBBBBBBBBBBBBBBXXXXXXXXBBBBBBBBBBBBBBBXXXXXXXXXXXXBBBBBBBBBBBBBBBBBBXXXXXXBBBBBBBBBBBBBBBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXXXXXXXBB 0.0001pt"> 

Sample Output< /span>

4 0  

0

Analysis:

The general meaning of the title is: first enter a number N, which means that the next few lines of string will be entered; < /p>

The format of each line of string is: It consists of the letter X and a space (" "), with the character X on both sides and a space in the middle. Each line has one or more Xs at the beginning, 0 or more spaces in the middle, and one or more Xs at the end.

Requirements: Move the left character X in the N line to the right at the same time (or the right character X to the left), and stop until there is no space in the middle of a line All rows are moved. At this time, count how many spaces there are in N rows.

General idea: The idea for this question is to add up the number of spaces in the string entered each time minus the smallest one*number of lines entered. . .

Code:

// uva414.cpp: defines the entry point of the console application . // //#include "stdafx.h" #include #include #include #include using namespace std; int main() { int k, m, n, i, j, sum, min; char str[100000]; while (scanf("%d%*c", &n) && n) { sum = 0; for (i = 0; ik) min = k; } sum += k; } printf("%d ", sum-min*n); } return 0; }

Machined Surfaces

td>

Time Limit : 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu

Description

Download as PDF

An imaging device furnishes digital images of two machined surfaces that eventually will be assembled in contact with each other. The roughness of this final contact is to be estimated.

A digital image is composed of the two characters, "X" and " "(space). There are always 25 columns to an image, but the number of rows,N, is variable. Column one (1) will always have an"X "in it and will be part of the left surface. The left surface can extend to the right from column one (1) as contiguousX's.

Similarly, column 25 will always have an "X" in it and will be part of the right surface. The right surface can extend to the left from column 25 as contiguousX tt>'s.

Digital-Image View of Surfaces

 Left Right 

tex2html_wrap_inline50

< p style="margin-top:0px; margin-bottom:0.0001pt">

tex2html_wrap_inline52

tex2html_wrap_inline54tex2html_wrap_inline56

1 25

XXXX XXXXXXXX XXXXXXXXXXXX XXXXXX XXXXXX...XXXX XXXXXXX XXXXXX

In each row of the image, there can be zero or more space characters separating the left surface from the right surface. There will never be more than a single blank region in any row.< /p>

For each image given, you are to determine the total ``void" that will exist after the left surface has been brought into contact with the right surface. The ``void" is the total count of the spaces that remains between the left and right surfaces after they have been brought into contact.

The two surfaces are brought into contact by displacing them strictly horizontally towards each other until a rightmost"X"< /tt> of the left surface of some row is immediately to the left of the leftmost"X" of the right surface of that row. There is no rotation or twisting of these two surfaces as they are brought into contact; they remain rigid, and only move horizontally.

Note: The original image may show the two surfaces already in contact, in which case no displacement enters into the contact roughness estimation.

Input

The input consists of a series of digital images. Each image data set has the following format:

First line -

A single unsigned integer, N, with value greater than zero (0) and less than 13. The first digit of N will be the first character on a line.

Next N lines -
Each line has exactly 25 characters; one or more X's, then zero or more spaces, then one or m ore X's.

The end of data is signaled by a null data set having a zero on the first line of an image data set and no further data.

< h2 style="font-family:'times new roman'; font-size:17px; margin-bottom:0px">Output

For each image you receive as a data set, you are to reply with the total void (count of spaces remaining after the surfaces are brought into contact). Use the default output for a single integer on a line.

Sample Input(character"B"< /tt>for ease of reading. The actual input file will use the ASCII-space character, not"B").

4XXXXBBBBBBBBBBBBBBBBXXXXXXXXBBBBBBBBBBBBBXXXXXXXXXXXXBBBBBBBBBBBBBBXXXXXXBBBBBBBBBBBBBBBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXBBBBBBBBBBXXXXXXBBBBBBBBBBBBBBBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXBBBBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXBBBBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXBBBBBBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXBBBBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXBBBBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXBBBBBBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXBBBBBBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXBB top:0px; margin-bottom:0.0001pt"> 

Sample Output

4 0 < /span>

0

Analysis:

of the topic The rough meaning is: first enter a number N, which means that the next few lines of string will be entered;

The format of each line of string is: a letter X and a space ( ""), with the character X on both sides and a space in the middle. Each line has one or more Xs at the beginning, 0 or more spaces in the middle, and one or more Xs at the end.

Requirements: Move the left character X in the N line to the right at the same time (or the right character X to the left), and stop until there is no space in the middle of a line All rows are moved. At this time, count how many spaces there are in N rows.

General idea: The idea for this question is to add up the number of spaces in the string entered each time minus the smallest one*number of lines entered. . .

Code:

// uva414.cpp: defines the entry point of the console application . // //#include "stdafx.h" #include #include #include #include using namespace std; int main() { int k, m, n, i, j, sum, min; char str[100000]; while (scanf("%d%*c", &n) && n) { sum = 0; for (i = 0; ik) min = k; } sum += k; } printf("%d ", sum-min*n); } return 0; }

Download as PDF

An imaging device furnishes digital images of two machined surfaces that eventually will be assembled in contact with each other. The roughness of this final contact is to be estimated.

A digital image is composed of the two characters, "X" and " " (space). There are always 25 columns to an image, but the numbe r of rows,N, is variable. Column one (1) will always have an "X" in it and will be part of the left surface. The left surface can extend to the right from column one (1) as contiguous X's.

Similarly, column 25 will always have an "X" in it and will be part of the right surface. The right surface can extend to the left from column 25 as contiguous X's.

Digital-Image View of Surfaces< /p>

 Left Right 

tex2html_wrap_inline50

p>

tex2html_wrap_inline52

tex2html_wra p_inline54tex2html_wrap_inline56

1 25

XXXX XXXXXXXX XXXXXXXXXXXX XXXXXX XXXXXX. .. .. .XXXX XXXXXXX XXXXXX

In each row of the image, there can be zero or more space characters separating the left surface from the right surface. There will never be more than a single blank region in any row.

For each ima ge given, you are to determine the total ``void" that will exist after the left surface has been brought into contact with the right surface. The ``void" is the total count of the spaces that remains between the left and right surfaces after theyhave been brought into contact.

The two surfaces are brought into contact by displacing them strictly horizontally towards each other until a rightmost "X" of the left surface of some row is immediately to the left of the leftmost "X" of the right surface of that row. There is no rotation or twisting of these two surfaces as they are brought into contact; they remain rigid, and only move horizontally.

Note: The original image may show the two surfaces already in contact, in which case no displacement enters into the contact roughness estimation.

Input

The input consists of a series of digital images. Each image data set has the following format:

< p style="font-family:'times new roman'; font-size:17px; margin-top:0px; margin-bottom:0.0001pt">

First line -
A single un signed integer, N, with value greater than zero (0) and less than 13. The first digit of N will be the first character on a line.

Next N lines -
Each line has exactly 25 characters; one or more X's, then zero or more spaces, then one or more X's.

The end of data is signaled by a null data set having a zero on the first line of an image data set and no further data.

Output

For each image you receive as a data set, you are to reply with the total void (count of spaces remaining after the surfaces are brought into contact). Use the default output for a single integer on a line.

Sample Input (character "B" for ease of reading. The actual input file will use the ASCII-space character, not "B").

4XXXXBBBBBBBBBBBBBBBBXXXXXXXXBBBBBBBBBBBBBBBXXXXXXXXXXXXBBBBBBBBBBBBBBBBXXXXXXBBBBBBBBBBBBBBBBBXXXXXX2XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXXXXXXXBBBB BBBBBBBBBBXX0

Sample Output

4 0 

0

分析:

题目的大致意思是:首先输入一个数字N,代表接下来要输入几行字符串;

    每行字符串的格式为:由字母X和空格 (“ ”)组成,且两边是字符X,中间是空格。每行的开始有一个或多个X,中间有0个或多个空格,末端有一个或多个X。

    要求:将N行中的左边的字符X同时向右移动(或右边的字符X向左移动),直到有一行中间没有空格时停止所有行的移动,此时计算N行中总共有多少个空格。

大体思路:做这道题目的思路就是把每一次输入的字符串的空格数加起来减去最小的一个*输入的行数。 . .

代码:

// uva414.cpp : 定义控制台应用程序的入口点。 // //#include "stdafx.h" #include #include #include #include using namespace std; int main() { int k, m, n, i, j, sum, min; char str[100000]; while (scanf("%d%*c", &n) && n) { sum = 0; for (i = 0; ik) min = k; } sum += k; } printf("%d ", sum - min*n); } return 0; }

Leave a Comment

Your email address will not be published.