编程介的小学生 2019-12-21 21:02 采纳率: 0.4%
浏览 47

Another Brick in the Wall

Problem Description
After years as a brick-layer, you've been called upon to analyze the structural integrity of various brick walls built by the Tetrad Corporation. Instead
of using regular-sized bricks, the Tetrad Corporation seems overly fond of bricks made out of strange shapes. The structural integrity of a wall can be
approximated by the fewest number of bricks that could be removed to create a gap from the top to the bottom. Can you determine that number for
various odd walls created by Tetrad?

Input
Input to this problem will begin with a line containing a single integer X (1 ≤ X ≤ 100) indicating the number of data sets. Each data set consists of
two components:

A single line, "M N" (1 ≤ M,N ≤ 20) where M and N indicate the height and width (in units), respectively, of a brick wall;
A series of M lines, each N alphabetic characters in length. Each character will indicate to which brick that unit of the wall belongs to. Note
that bricks will be contiguous; each unit of a brick will be adjacent (diagonals do not count as adjacent) to another unit of that brick. Multiple
bricks may use the same characters for their representation, but any bricks that use identical characters will not be adjacent to each other. All
letters will be uppercase.

Output
For each data set, output the fewest number of bricks to remove to create a gap that leads from some point at the top of the wall, to some point at the
bottom of the wall. Assume that bricks are in fixed locations and do not "fall" if bricks are removed from beneath them. A gap consists of contiguous
units of removed bricks; each unit of a gap must be adjacent (diagonals do not count) to another unit of the gap.

Sample Input
3
5 7
AABBCCD
EFFGGHH
IIJJKKL
MNNOOPP
QQRRSST
5 7
AABBCCD
AFFBGGD
IIJBKKD
MNNOOPD
QQRRSST
6 7
ABCDEAB
ABCFEAB
AEAABAB
ACDAEEB
FFGAHIJ
KLMANOP

Sample Output
5
2
2

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-28 09:25
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    # Import necessary packages
    library(readline)
    
    # Read input from user
    input <- readline(prompt = "Enter a number of data sets: ")
    
    # Initialize empty list to store results
    results <- numeric(length(input))
    
    # Loop through each data set
    for (i in 1:min(input)) {
      # Read input for current data set
      data <- readLines()
    
      # Extract dimensions and positions of bricks
      dimensions <- strsplit(data[1], " ")[[1]]
      positions <- strsplit(data[2], " ")[[1]]
    
      # Calculate minimum number of bricks needed to remove
      min_bricks <- sum(dimensions - positions)
    
      # Add result to list
      results[i] <- min_bricks
    }
    
    # Print results
    print(results)
    

    This code reads input from the user for X data sets, then calculates the minimum number of bricks needed to remove to create a gap between some points on the top and bottom of each brick wall. It does this by reading input for each data set, extracting the dimensions and positions of the bricks, and calculating the minimum number of bricks needed to remove. Finally, it prints the results.

    评论

报告相同问题?